www.alarm-365.ch
Open in
urlscan Pro
2a06:98c1:3120::3
Public Scan
Submitted URL: https://alarm-365.ch/
Effective URL: https://www.alarm-365.ch/de/
Submission: On July 07 via api from CH — Scanned from CH
Effective URL: https://www.alarm-365.ch/de/
Submission: On July 07 via api from CH — Scanned from CH
Form analysis
4 forms found in the DOM<form ng-submit="openForm()" class="d-flex flex-column flex-sm-row ng-pristine ng-valid">
<div class="sd-mb-0_5 sd-mb-sm-0 lead text-gray sd-mr-sm-0_5 flex-even">
<input ng-model="data.postcode" ng-class="{ 'invalid-state': showErrorMessage() }" name="postcode" class="form-control upper ng-pristine ng-untouched ng-valid ng-empty" type="text" ng-change="formScope.step = 1" placeholder="Ihre Postleitzahl">
</div>
<div class="flex-even">
<button type="submit" class="btn-arrow-tail" id="go">Ok</button>
</div>
</form>
Name: formScope.leadform —
<form name="formScope.leadform" class="form form-horizontal ng-pristine ng-invalid ng-invalid-required ng-valid-minlength ng-valid-pattern ng-valid-email" novalidate="">
<input type="hidden" class="ng-pristine ng-untouched ng-valid ng-not-empty ng-valid-required" ng-model="data.lead_version" name="data.lead_version" required="" ng-init="data.lead_version = 'v1'">
<!-- ngIf: loadingState.showMatchingLoader -->
<!-- ngIf: loadingState.showSuccessMatchMessage -->
<loading-state form-step="formScope.step" form-data="data" form-id="8769" loading-state="loadingState" sanitize-params="sanitizeParams(params)" update-loading-state="updateLoadingState(state)" class="ng-isolate-scope">
</loading-state>
<div class="row">
<div class="col-centered col-sm-8 col-md-7">
<fieldset ng-disabled="formScope.step !== 1">
<div ng-form="" name="step1" ng-show="formScope.step === 1" class="ng-pristine ng-invalid ng-invalid-required">
<p class="form-heading">
</p>
<div class="form-group" sd-field-id="data.postcode" ng-class="{'has-error has-feedback': getErrorClassForField('data.postcode'), 'has-success has-feedback': getField('data.postcode').$touched && getField('data.postcode').$valid}">
<label for="data.postcode" class="col-xs-12"> Postleitzahl </label>
<div class="placeholder-container col-xs-12 input-text">
<input type="text" class="input-sm form-control upper hide-placeholder ng-pristine ng-untouched ng-isolate-scope ng-empty ng-invalid ng-invalid-required" placeholder="Postleitzahl" ng-model="data.postcode" name="data.postcode"
id="data.postcode" required="" clearable="" sd-postcode-validator="https://skyapi.skydreams.com/1.0/postcode/validate/CH" sd-postcode-auto-complete="" url="https://skyapi.skydreams.com/1.0/postcode/autocomplete/CH/" city="data.city"
city-ctrl="formScope.leadform.step1["data.city"]" address="data.address" address-ctrl="formScope.leadform.step1["data.address"]" administrative-area="data.administrative_area"
administrative-area-ctrl="formScope.leadform.step1["data.administrative_area"]">
<span aria-hidden="true" ng-class="
{
'glyphicon glyphicon-remove form-control-feedback': getErrorClassForField('data.postcode'),
'glyphicon glyphicon-ok form-control-feedback': getField('data.postcode').$touched && getField('data.postcode').$valid,
'sd-pending form-control-feedback': getField('data.postcode').$pending
}
"></span>
<div class="text-danger ng-hide" sd-messages="getErrorForField('data.postcode')" ng-show="getErrorClassForField('data.postcode')">
<div class="error" sd-message="required" style="display: inline;"> Bitte geben Sie eine korrekte Postleitzahl ein </div>
<div class="error" sd-message="postcode" style="display: none;"> Bitte geben Sie eine korrekte Postleitzahl ein </div>
</div>
</div>
</div>
<div class="form-group" sd-field-id="data.city" ng-class="{'has-error has-feedback': getErrorClassForField('data.city'), 'has-success has-feedback': getField('data.city').$touched && getField('data.city').$valid}">
<label for="data.city" class="col-xs-12"> Ort </label>
<div class="placeholder-container col-xs-12 input-text">
<input type="text" class="input-sm form-control hide-placeholder ng-pristine ng-untouched ng-empty ng-invalid ng-invalid-required" placeholder="Ort" ng-model="data.city" name="data.city" id="data.city" required="" clearable=""
data-autocomplete-city="">
<span aria-hidden="true" ng-class="
{
'glyphicon glyphicon-remove form-control-feedback': getErrorClassForField('data.city'),
'glyphicon glyphicon-ok form-control-feedback': getField('data.city').$touched && getField('data.city').$valid,
'sd-pending form-control-feedback': getField('data.city').$pending
}
"></span>
<div class="text-danger ng-hide" sd-messages="getErrorForField('data.city')" ng-show="getErrorClassForField('data.city')">
<div class="error" sd-message="required" style="display: inline;"> Bitte geben Sie Ihren Ort ein </div>
</div>
</div>
</div>
<div class="form-group" sd-field-id="data.address" ng-class="{'has-error has-feedback': getErrorClassForField('data.address'), 'has-success has-feedback': getField('data.address').$touched && getField('data.address').$valid}">
<label for="data.address" class="col-xs-12"> Straße </label>
<div class="placeholder-container col-xs-12 input-text">
<input type="text" class="input-sm form-control hide-placeholder ng-pristine ng-untouched ng-empty ng-invalid ng-invalid-required" placeholder="Straße" ng-model="data.address" name="data.address" id="data.address" required=""
clearable="" data-autocomplete-address="">
<span aria-hidden="true" ng-class="
{
'glyphicon glyphicon-remove form-control-feedback': getErrorClassForField('data.address'),
'glyphicon glyphicon-ok form-control-feedback': getField('data.address').$touched && getField('data.address').$valid,
'sd-pending form-control-feedback': getField('data.address').$pending
}
"></span>
<div class="text-danger ng-hide" sd-messages="getErrorForField('data.address')" ng-show="getErrorClassForField('data.address')">
<div class="error" sd-message="required" style="display: inline;"> Bitte geben Sie Ihre Strasse ein </div>
</div>
</div>
</div>
<div class="form-group" sd-field-id="data.address_number"
ng-class="{'has-error has-feedback': getErrorClassForField('data.address_number'), 'has-success has-feedback': getField('data.address_number').$touched && getField('data.address_number').$valid}">
<label for="data.address_number" class="col-xs-12"> Hausnummer </label>
<div class="placeholder-container col-xs-12 input-text">
<input type="text" class="input-sm form-control hide-placeholder ng-pristine ng-untouched ng-valid ng-empty" placeholder="Hausnummer" ng-model="data.address_number" name="data.address_number" id="data.address_number" clearable="12">
<span aria-hidden="true" ng-class="
{
'glyphicon glyphicon-remove form-control-feedback': getErrorClassForField('data.address_number'),
'glyphicon glyphicon-ok form-control-feedback': getField('data.address_number').$touched && getField('data.address_number').$valid,
'sd-pending form-control-feedback': getField('data.address_number').$pending
}
"></span>
<div class="text-danger ng-hide" sd-messages="getErrorForField('data.address_number')" ng-show="getErrorClassForField('data.address_number')">
</div>
</div>
</div>
<div class="form-group">
<div class="col-xs-12">
<button type="button" id="proceed-to-step-2" class="btn-arrow-tail button" ng-class="{'loading':submitting}" ng-click="progress()"> Weiter zu Schritt 2 </button>
</div>
</div>
<div class="free form-group">
<div class="col-xs-12">
<div class="free text-center">
<span class="glyphicon glyphicon-ok checkmark"></span> Kostenlos - Unverbindlich
</div>
</div>
</div>
</div>
</fieldset>
<fieldset ng-disabled="formScope.step !== 2" disabled="disabled">
<div ng-form="" name="step2" ng-show="formScope.step === 2" class="ng-pristine ng-invalid ng-invalid-required ng-valid-minlength ng-hide">
<input type="hidden" class="ng-pristine ng-untouched ng-valid ng-not-empty ng-valid-required" ng-model="data.lead_version" name="data.lead_version" required="" ng-init="data.lead_version = "v2"">
<div class="form-group form-group-radio" sd-field-id="data.type" ng-class="{'has-error has-feedback': (submitted.indexOf(formScope.step) >= 0) && getField('data.type').$invalid}">
<label for="data.type" class="col-xs-12"> Art der Tätigkeit </label>
<div class="col-xs-12">
<div class="radio-btns-container">
<div class="radio">
<label>
<input type="radio" name="data.type" value="alarm_installation" ng-model="data.type" required="" class="ng-pristine ng-untouched ng-empty ng-invalid ng-invalid-required">
<span class="radio-label"> Alarmanlage installieren <span ng-class="{'glyphicon glyphicon-remove': (submitted.indexOf(formScope.step) >= 0) && getField('data.type').$invalid}"></span>
</span>
</label>
</div>
<div class="radio">
<label>
<input type="radio" name="data.type" value="camera_security" ng-model="data.type" required="" class="ng-pristine ng-untouched ng-empty ng-invalid ng-invalid-required">
<span class="radio-label"> Kameraüberwachung installieren </span>
</label>
</div>
<div class="radio">
<label>
<input type="radio" name="data.type" value="fire_protection" ng-model="data.type" required="" class="ng-pristine ng-untouched ng-empty ng-invalid ng-invalid-required">
<span class="radio-label"> Brandschutz einbauen </span>
</label>
</div>
<div class="radio">
<label>
<input type="radio" name="data.type" value="locks" ng-model="data.type" required="" class="ng-pristine ng-untouched ng-empty ng-invalid ng-invalid-required">
<span class="radio-label"> Scharniere und Schlösser einbauen </span>
</label>
</div>
</div>
<div class="text-danger ng-hide" sd-messages="getErrorForField('data.type')" ng-show="getErrorClassForField('data.type')">
<div class="error " sd-message="required" style="display: none;"> Bitte wählen Sie die Art des Auftrags </div>
</div>
</div>
</div>
<div class="form-group form-group-radio" sd-field-id="data.type2" ng-class="{'has-error has-feedback': (submitted.indexOf(formScope.step) >= 0) && getField('data.type2').$invalid}">
<label for="data.type2" class="col-xs-12"> Art der Anfrage </label>
<div class="col-xs-12">
<div class="radio-btns-container">
<div class="radio">
<label>
<input type="radio" name="data.type2" value="private" ng-model="data.type2" required="" class="ng-pristine ng-untouched ng-empty ng-invalid ng-invalid-required">
<span class="radio-label"> Privat <span ng-class="{'glyphicon glyphicon-remove': (submitted.indexOf(formScope.step) >= 0) && getField('data.type2').$invalid}"></span>
</span>
</label>
</div>
<div class="radio">
<label>
<input type="radio" name="data.type2" value="commercial" ng-model="data.type2" required="" class="ng-pristine ng-untouched ng-empty ng-invalid ng-invalid-required">
<span class="radio-label"> Geschäftlich </span>
</label>
</div>
</div>
<div class="text-danger ng-hide" sd-messages="getErrorForField('data.type2')" ng-show="getErrorClassForField('data.type2')">
<div class="error " sd-message="required" style="display: none;"> Bitte geben Sie an, ob es sich um eine geschäftliche oder private Anfrage handelt </div>
</div>
</div>
</div>
<!-- ngIf: data.type2 === undefined || data.type2 === 'private' -->
<div ng-if="data.type2 === undefined || data.type2 === 'private'" class="ng-scope">
<div class="form-group form-group-radio" sd-field-id="data.housing" ng-class="{'has-error has-feedback': (submitted.indexOf(formScope.step) >= 0) && getField('data.housing').$invalid}">
<label for="data.housing" class="col-xs-12"> Art des Hauses </label>
<div class="col-xs-12">
<div class="radio-btns-container">
<div class="radio">
<label>
<input type="radio" name="data.housing" value="2" ng-model="data.housing" required="" class="ng-pristine ng-untouched ng-empty ng-invalid ng-invalid-required">
<span class="radio-label"> Appartement <span ng-class="{'glyphicon glyphicon-remove': (submitted.indexOf(formScope.step) >= 0) && getField('data.housing').$invalid}"></span>
</span>
</label>
</div>
<div class="radio">
<label>
<input type="radio" name="data.housing" value="3" ng-model="data.housing" required="" class="ng-pristine ng-untouched ng-empty ng-invalid ng-invalid-required">
<span class="radio-label"> Reihenhaus </span>
</label>
</div>
<div class="radio">
<label>
<input type="radio" name="data.housing" value="4" ng-model="data.housing" required="" class="ng-pristine ng-untouched ng-empty ng-invalid ng-invalid-required">
<span class="radio-label"> Reihenhaus - Eckhaus </span>
</label>
</div>
<div class="radio">
<label>
<input type="radio" name="data.housing" value="6" ng-model="data.housing" required="" class="ng-pristine ng-untouched ng-empty ng-invalid ng-invalid-required">
<span class="radio-label"> Freistehendes Haus </span>
</label>
</div>
<div class="radio">
<label>
<input type="radio" name="data.housing" value="5" ng-model="data.housing" required="" class="ng-pristine ng-untouched ng-empty ng-invalid ng-invalid-required">
<span class="radio-label"> Doppelhaushälfte </span>
</label>
</div>
<div class="radio">
<label>
<input type="radio" name="data.housing" value="1" ng-model="data.housing" required="" class="ng-pristine ng-untouched ng-empty ng-invalid ng-invalid-required">
<span class="radio-label"> Wohnung </span>
</label>
</div>
</div>
<div class="text-danger ng-hide" sd-messages="getErrorForField('data.housing')" ng-show="getErrorClassForField('data.housing')">
<div class="error " sd-message="required" style="display: none;"> Bitte wählen Sie den Haustyp aus </div>
</div>
</div>
</div>
</div><!-- end ngIf: data.type2 === undefined || data.type2 === 'private' -->
<!-- ngIf: (data.type === 'fire_protection' || data.type === 'alarm_installation') && data.type2 === 'commercial' -->
<!-- ngIf: data.type === 'camera_security' && data.type2 === 'commercial' -->
<!-- ngIf: data.type === 'locks' && data.type2 === 'commercial' -->
<!-- ngIf: data.type === undefined || data.type === 'alarm_installation' -->
<div ng-if="data.type === undefined || data.type === 'alarm_installation'" class="ng-scope">
<div class="form-group form-group-radio" sd-field-id="data.type_alarm" ng-class="{'has-error has-feedback': (submitted.indexOf(formScope.step) >= 0) && getField('data.type_alarm').$invalid}">
<label for="data.type_alarm" class="col-xs-12"> Kabelgebundenes oder drahtloses System </label>
<div class="col-xs-12">
<div class="radio-btns-container">
<div class="radio">
<label>
<input type="radio" name="data.type_alarm" value="1" ng-model="data.type_alarm" required="" class="ng-pristine ng-untouched ng-empty ng-invalid ng-invalid-required">
<span class="radio-label"> Drahtlos <span ng-class="{'glyphicon glyphicon-remove': (submitted.indexOf(formScope.step) >= 0) && getField('data.type_alarm').$invalid}"></span>
</span>
</label>
</div>
<div class="radio">
<label>
<input type="radio" name="data.type_alarm" value="2" ng-model="data.type_alarm" required="" class="ng-pristine ng-untouched ng-empty ng-invalid ng-invalid-required">
<span class="radio-label"> Kabelgebunden </span>
</label>
</div>
<div class="radio">
<label>
<input type="radio" name="data.type_alarm" value="3" ng-model="data.type_alarm" required="" class="ng-pristine ng-untouched ng-empty ng-invalid ng-invalid-required">
<span class="radio-label"> ich weiß es nicht </span>
</label>
</div>
</div>
<div class="text-danger ng-hide" sd-messages="getErrorForField('data.type_alarm')" ng-show="getErrorClassForField('data.type_alarm')">
<div class="error " sd-message="required" style="display: none;"> Bitte geben Sie an, ob Sie eine kabelgebundene oder drahtlose Alarmanlage wünschen </div>
</div>
</div>
</div>
<div class="form-group form-group-radio" sd-field-id="data.connected" ng-class="{'has-error has-feedback': (submitted.indexOf(formScope.step) >= 0) && getField('data.connected').$invalid}">
<label for="data.connected" class="col-xs-12"> Mit Leitwarte verbinden </label>
<div class="col-xs-12">
<div class="radio-btns-container">
<div class="radio">
<label>
<input type="radio" name="data.connected" value="1" ng-model="data.connected" required="" class="ng-pristine ng-untouched ng-empty ng-invalid ng-invalid-required">
<span class="radio-label"> Ja <span ng-class="{'glyphicon glyphicon-remove': (submitted.indexOf(formScope.step) >= 0) && getField('data.connected').$invalid}"></span>
</span>
</label>
</div>
<div class="radio">
<label>
<input type="radio" name="data.connected" value="2" ng-model="data.connected" required="" class="ng-pristine ng-untouched ng-empty ng-invalid ng-invalid-required">
<span class="radio-label"> Nein </span>
</label>
</div>
<div class="radio">
<label>
<input type="radio" name="data.connected" value="3" ng-model="data.connected" required="" class="ng-pristine ng-untouched ng-empty ng-invalid ng-invalid-required">
<span class="radio-label"> Ich weiß es nicht </span>
</label>
</div>
</div>
<div class="text-danger ng-hide" sd-messages="getErrorForField('data.connected')" ng-show="getErrorClassForField('data.connected')">
<div class="error " sd-message="required" style="display: none;"> Bitte wählen Sie die Art der Telefonleitung, die Sie haben </div>
</div>
</div>
</div>
<div class="form-group form-group-radio" sd-field-id="data.connection" ng-class="{'has-error has-feedback': (submitted.indexOf(formScope.step) >= 0) && getField('data.connection').$invalid}">
<label for="data.connection" class="col-xs-12"> Ihr Telefonanschluss </label>
<div class="col-xs-12">
<div class="radio-btns-container">
<div class="radio">
<label>
<input type="radio" name="data.connection" value="3" ng-model="data.connection" required="" class="ng-pristine ng-untouched ng-empty ng-invalid ng-invalid-required">
<span class="radio-label"> Kabel <span ng-class="{'glyphicon glyphicon-remove': (submitted.indexOf(formScope.step) >= 0) && getField('data.connection').$invalid}"></span>
</span>
</label>
</div>
<div class="radio">
<label>
<input type="radio" name="data.connection" value="1" ng-model="data.connection" required="" class="ng-pristine ng-untouched ng-empty ng-invalid ng-invalid-required">
<span class="radio-label"> Analog </span>
</label>
</div>
<div class="radio">
<label>
<input type="radio" name="data.connection" value="2" ng-model="data.connection" required="" class="ng-pristine ng-untouched ng-empty ng-invalid ng-invalid-required">
<span class="radio-label"> ISDN </span>
</label>
</div>
<div class="radio">
<label>
<input type="radio" name="data.connection" value="4" ng-model="data.connection" required="" class="ng-pristine ng-untouched ng-empty ng-invalid ng-invalid-required">
<span class="radio-label"> Keine </span>
</label>
</div>
<div class="radio">
<label>
<input type="radio" name="data.connection" value="5" ng-model="data.connection" required="" class="ng-pristine ng-untouched ng-empty ng-invalid ng-invalid-required">
<span class="radio-label"> Ich weiß es nicht </span>
</label>
</div>
</div>
<div class="text-danger ng-hide" sd-messages="getErrorForField('data.connection')" ng-show="getErrorClassForField('data.connection')">
<div class="error " sd-message="required" style="display: none;"> Bitte geben Sie an, ob der Alarm mit einer Leitwarte verbunden werden soll </div>
</div>
</div>
</div>
<div class="form-group form-group-radio" sd-field-id="data.smoke" ng-class="{'has-error has-feedback': (submitted.indexOf(formScope.step) >= 0) && getField('data.smoke').$invalid}">
<label for="data.smoke" class="col-xs-12"> Rauchmelder erwünscht </label>
<div class="col-xs-12">
<div class="radio-btns-container">
<div class="radio">
<label>
<input type="radio" name="data.smoke" value="1" ng-model="data.smoke" required="" class="ng-pristine ng-untouched ng-empty ng-invalid ng-invalid-required">
<span class="radio-label"> Ja <span ng-class="{'glyphicon glyphicon-remove': (submitted.indexOf(formScope.step) >= 0) && getField('data.smoke').$invalid}"></span>
</span>
</label>
</div>
<div class="radio">
<label>
<input type="radio" name="data.smoke" value="2" ng-model="data.smoke" required="" class="ng-pristine ng-untouched ng-empty ng-invalid ng-invalid-required">
<span class="radio-label"> Nein </span>
</label>
</div>
<div class="radio">
<label>
<input type="radio" name="data.smoke" value="3" ng-model="data.smoke" required="" class="ng-pristine ng-untouched ng-empty ng-invalid ng-invalid-required">
<span class="radio-label"> Ich weiß es nicht </span>
</label>
</div>
</div>
<div class="text-danger ng-hide" sd-messages="getErrorForField('data.smoke')" ng-show="getErrorClassForField('data.smoke')">
<div class="error " sd-message="required" style="display: none;"> Bitte geben Sie an, ob Sie einen Rauchmelder hinzufügen möchten </div>
</div>
</div>
</div>
</div><!-- end ngIf: data.type === undefined || data.type === 'alarm_installation' -->
<!-- ngIf: data.type === 'fire_protection' && data.type2 === 'private' -->
<!-- ngIf: data.type === 'fire_protection' && data.type2 === 'commercial' -->
<!-- ngIf: data.type === 'camera_security' -->
<div class="form-group form-group-radio" sd-field-id="data.project_date" ng-class="{'has-error has-feedback': (submitted.indexOf(formScope.step) >= 0) && getField('data.project_date').$invalid}">
<label for="data.project_date" class="col-xs-12"> Startdatum </label>
<div class="col-xs-12">
<div class="radio-btns-container">
<div class="radio">
<label>
<input type="radio" name="data.project_date" value="0-1_month" ng-model="data.project_date" required="" class="ng-pristine ng-untouched ng-empty ng-invalid ng-invalid-required">
<span class="radio-label"> Innerhalb von 1 Monat <span ng-class="{'glyphicon glyphicon-remove': (submitted.indexOf(formScope.step) >= 0) && getField('data.project_date').$invalid}"></span>
</span>
</label>
</div>
<div class="radio">
<label>
<input type="radio" name="data.project_date" value="1-3_month" ng-model="data.project_date" required="" class="ng-pristine ng-untouched ng-empty ng-invalid ng-invalid-required">
<span class="radio-label"> Innerhalb von 1 bis 3 Monaten </span>
</label>
</div>
<div class="radio">
<label>
<input type="radio" name="data.project_date" value="3-6_month" ng-model="data.project_date" required="" class="ng-pristine ng-untouched ng-empty ng-invalid ng-invalid-required">
<span class="radio-label"> Innerhalb von 3 bis 6 Monaten </span>
</label>
</div>
<div class="radio">
<label>
<input type="radio" name="data.project_date" value="unknown" ng-model="data.project_date" required="" class="ng-pristine ng-untouched ng-empty ng-invalid ng-invalid-required">
<span class="radio-label"> Keine Präferenz </span>
</label>
</div>
</div>
<div class="text-danger ng-hide" sd-messages="getErrorForField('data.project_date')" ng-show="getErrorClassForField('data.project_date')">
<div class="error" sd-message="required" style="display: none;"> Bitte wählen Sie Ihr bevorzugtes Ausführungdatum </div>
</div>
</div>
</div>
<div class="form-group form-group-radio" sd-field-id="showOptionalFileInput" ng-class="{'has-error has-feedback': (submitted.indexOf(formScope.step) >= 0) && getField('showOptionalFileInput').$invalid}">
<label for="showOptionalFileInput" class="col-xs-12"> Möchten Sie Fotos hinzufügen? <label class="sub-label">Keine Bilder vorhanden? Kein Problem</label>
</label>
<div class="col-xs-12">
<div class="radio-btns-container">
<div class="radio">
<label>
<input type="radio" name="showOptionalFileInput" value="false" ng-model="showOptionalFileInput" required="" ng-init="showOptionalFileInput = "false""
class="ng-pristine ng-untouched ng-valid ng-not-empty ng-valid-required">
<span class="radio-label"> Nein <span ng-class="{'glyphicon glyphicon-remove': (submitted.indexOf(formScope.step) >= 0) && getField('showOptionalFileInput').$invalid}"></span>
</span>
</label>
</div>
<div class="radio">
<label>
<input type="radio" name="showOptionalFileInput" value="true" ng-model="showOptionalFileInput" required="" ng-init="showOptionalFileInput = "false""
class="ng-pristine ng-untouched ng-valid ng-not-empty ng-valid-required">
<span class="radio-label"> Ja </span>
</label>
</div>
</div>
<div class="text-danger ng-hide" sd-messages="getErrorForField('showOptionalFileInput')" ng-show="getErrorClassForField('showOptionalFileInput')">
<div class="error " sd-message="required" style="display: none;"> showOptionalFileInput.error </div>
</div>
</div>
</div>
<div class="form-group form-group-radio">
<div class="col-xs-12">
<!-- ngIf: showOptionalFileInput === 'true' -->
</div>
</div>
<script type="text/ng-template" id="image-upload.html"> <div class="file-input">
<button class="sd-mt-0_5 btn-default btn-block file-browse" type="button"
ng-click="$ctrl.browseFile()"
ng-disabled="$ctrl.uploadFiles.length >= $ctrl.maximumFiles">{{ $ctrl.buttonLabel }}
</button>
<input type="file" sd-ng-files ng-model="$ctrl.selectedFile" ng-change="$ctrl.fileChanged()"
ng-disabled="$ctrl.uploadFiles.length >= $ctrl.maximumFiles" accept="{{ $ctrl.acceptedMimeTypes }}">
<span ng-if="$ctrl.isFileInvalid" ng-class="{'error': $ctrl.isFileInvalid}"
class="file-sub-label">{{ $ctrl.buttonSubLabel }}</span>
</div>
<div class="uploaded-files" ng-if="$ctrl.uploadFiles.length > 0">
<div class="uploaded-file-item" ng-repeat="uploadFile in $ctrl.uploadFiles">
<div class="upload-file-name">{{ uploadFile.name }}</div>
<div ng-click="$ctrl.removeFile(uploadFile)" ng-if="uploadFile.status === $ctrl.uploadedStatus"
class="upload-file-delete"></div>
<div ng-if="uploadFile.status === $ctrl.uploadingStatus" class="upload-file-loader"></div>
</div>
</div>
</script>
<div class="form-group form-group-radio" sd-field-id="data.buyer_intention" ng-class="{'has-error has-feedback': (submitted.indexOf(formScope.step) >= 0) && getField('data.buyer_intention').$invalid}">
<label for="data.buyer_intention" class="col-xs-12"> Beabsichtigen Sie, dieses Projekt durchzuführen? </label>
<div class="col-xs-12">
<div class="radio-btns-container">
<div class="radio">
<label>
<input type="radio" name="data.buyer_intention" value="yes" ng-model="data.buyer_intention" required="" class="ng-pristine ng-untouched ng-empty ng-invalid ng-invalid-required">
<span class="radio-label"> Ja, nach dem Vergleich von Handwerkern <span ng-class="{'glyphicon glyphicon-remove': (submitted.indexOf(formScope.step) >= 0) && getField('data.buyer_intention').$invalid}"></span>
</span>
</label>
</div>
<div class="radio">
<label>
<input type="radio" name="data.buyer_intention" value="unknown" ng-model="data.buyer_intention" required="" class="ng-pristine ng-untouched ng-empty ng-invalid ng-invalid-required">
<span class="radio-label"> Ich bin mir noch nicht sicher, es hängt von den Informationen ab, die ich bekomme. </span>
</label>
</div>
<div class="radio">
<label>
<input type="radio" name="data.buyer_intention" value="no" ng-model="data.buyer_intention" required="" class="ng-pristine ng-untouched ng-empty ng-invalid ng-invalid-required">
<span class="radio-label"> Nein, ich suche nur nach Informationen. </span>
</label>
</div>
</div>
<div class="text-danger ng-hide" sd-messages="getErrorForField('data.buyer_intention')" ng-show="getErrorClassForField('data.buyer_intention')">
<div class="error" sd-message="required" style="display: none;"> Bitte wählen Sie eine der oben genannten Antworten aus. </div>
</div>
</div>
</div>
<!-- ngIf: data.buyer_intention === 'unknown' -->
<div class="form-group" sd-field-id="data.project_description" ng-class="{'has-error has-feedback': (submitted.indexOf(formScope.step) >= 0) && getField('data.project_description').$invalid}">
<label for="data.project_description" class="col-xs-12"> Projektbeschreibung <label class="sub-label">Beschreiben Sie kurz Ihr Projekt und erhalten Sie genauere Offerten</label>
</label>
<div class="col-xs-12">
<textarea class="form-control input-sm ng-pristine ng-untouched ng-empty ng-invalid ng-invalid-required ng-valid-minlength" placeholder="Zum Beispiel: Anzahl der Kameras, aktuelle Alarmanlage, Anzahl der Abschnitte usw."
ng-model="data.project_description" name="data.project_description" rows="5" id="data.project_description" required="" ng-minlength="10" ng-model-options="{ updateOn:'change keyup', allowInvalid: true }"></textarea>
<div class="text-danger ng-hide" sd-messages="getErrorForField('data.project_description')" ng-show="getErrorClassForField('data.project_description')">
<div class="error" sd-message="required" style="display: none;"> Bitte beschreiben Sie Ihr Projekt. Mindestens 10 Zeichen. </div>
<div class="error" sd-message="minlength" style="display: none;"> Bitte beschreiben Sie Ihr Projekt. Mindestens 10 Zeichen. </div>
</div>
</div>
</div>
<div class="form-group">
<div class="col-xs-12">
<button type="button" id="proceed-to-final-step" class="btn-arrow-tail button" ng-class="{'loading':submitting}" ng-click="progress()"> Weiter zum letzten Schritt </button>
</div>
</div>
<div class="free form-group">
<div class="col-xs-12">
<div class="free text-center">
<span class="glyphicon glyphicon-ok checkmark"></span> Kostenlos - Unverbindlich
</div>
</div>
</div>
</div>
</fieldset>
<fieldset ng-disabled="formScope.step !== 3" disabled="disabled">
<div ng-form="" name="step3" ng-show="formScope.step === 3" class="ng-pristine ng-hide ng-invalid ng-invalid-required ng-valid-pattern ng-valid-email">
<!-- ngIf: loadingState.showMatchEncourageMessage --> <dynamic-step3><!-- ngInclude: --><ng-include src="step3Url" class="ng-scope">
<!-- ngIf: data.type === "commercial"
|| data.type === "zakelijk"
|| data.type === "business"
|| data.business === "zakelijk"
|| data.request_type === "commercial"
|| data.business === "commercial"
|| data.business_type === "commercial"
|| data.type2 === "zakelijk" -->
<div class="visible-xs ng-scope">
<div class="form-group sd-mb-0">
<div class="col-xs-12 col-sm-8 col-sm-offset-4">
<p class="font-weight-bold p-large sd-mb-0">Name und Anrede</p>
</div>
</div>
</div>
<div class="form-group form-group-radio ng-scope" sd-field-id="data.gender" ng-class="{'has-error has-feedback': (submitted.indexOf(formScope.step) >= 0) && getField('data.gender').$invalid}">
<label for="data.gender" class="col-xs-12"> Anrede </label>
<div class="col-xs-12">
<div class="radio-btns-container">
<div class="radio">
<label>
<input type="radio" name="data.gender" value="1" ng-model="data.gender" required="" class="ng-pristine ng-untouched ng-empty ng-invalid ng-invalid-required">
<span class="radio-label"> Herr <span ng-class="{'glyphicon glyphicon-remove': (submitted.indexOf(formScope.step) >= 0) && getField('data.gender').$invalid}"></span>
</span>
</label>
</div>
<div class="radio">
<label>
<input type="radio" name="data.gender" value="2" ng-model="data.gender" required="" class="ng-pristine ng-untouched ng-empty ng-invalid ng-invalid-required">
<span class="radio-label"> Frau </span>
</label>
</div>
</div>
<div class="text-danger ng-hide" sd-messages="getErrorForField('data.gender')" ng-show="getErrorClassForField('data.gender')">
<div class="error" sd-message="required" style="display: none;"> Bitte wählen Sie Ihre Anrede aus </div>
</div>
</div>
</div>
<div class="form-group ng-scope" sd-field-id="data.firstname"
ng-class="{'has-error has-feedback': getErrorClassForField('data.firstname'), 'has-success has-feedback': getField('data.firstname').$touched && getField('data.firstname').$valid}">
<label for="data.firstname" class="col-xs-12"> Vorname </label>
<div class="placeholder-container col-xs-12 input-text">
<input type="text" class="input-sm form-control hide-placeholder ng-pristine ng-untouched ng-empty ng-invalid ng-invalid-required ng-valid-pattern" placeholder="Vorname" ng-model="data.firstname" name="data.firstname"
id="data.firstname" required="" clearable="" pattern="([.\-0-9A-zÀ-ÖØ-öø-įĴ-őŔ-žǍ-ǰǴ-ǵǸ-țȞ-ȟȤ-ȳɃɆ-ɏḀ-ẞƀ-ƓƗ-ƚƝ-ơƤ-ƥƫ-ưƲ-ƶẠ-ỿ' ]){2,}">
<span aria-hidden="true" ng-class="
{
'glyphicon glyphicon-remove form-control-feedback': getErrorClassForField('data.firstname'),
'glyphicon glyphicon-ok form-control-feedback': getField('data.firstname').$touched && getField('data.firstname').$valid,
'sd-pending form-control-feedback': getField('data.firstname').$pending
}
"></span>
<div class="text-danger ng-hide" sd-messages="getErrorForField('data.firstname')" ng-show="getErrorClassForField('data.firstname')">
<div class="error" sd-message="required" style="display: none;"> Bitte geben Sie Ihren Vornamen an </div>
<div class="error" sd-message="pattern" style="display: none;"> Bitte tragen Sie einen gültigen Vornamen ein </div>
</div>
</div>
</div>
<div class="form-group ng-scope" sd-field-id="data.name" ng-class="{'has-error has-feedback': getErrorClassForField('data.name'), 'has-success has-feedback': getField('data.name').$touched && getField('data.name').$valid}">
<label for="data.name" class="col-xs-12"> Nachname </label>
<div class="placeholder-container col-xs-12 input-text">
<input type="text" class="input-sm form-control hide-placeholder ng-pristine ng-untouched ng-empty ng-invalid ng-invalid-required ng-valid-pattern" placeholder="Nachname" ng-model="data.name" name="data.name" id="data.name"
required="" clearable="" pattern="([.\-0-9A-zÀ-ÖØ-öø-įĴ-őŔ-žǍ-ǰǴ-ǵǸ-țȞ-ȟȤ-ȳɃɆ-ɏḀ-ẞƀ-ƓƗ-ƚƝ-ơƤ-ƥƫ-ưƲ-ƶẠ-ỿ' ]){2,}">
<span aria-hidden="true" ng-class="
{
'glyphicon glyphicon-remove form-control-feedback': getErrorClassForField('data.name'),
'glyphicon glyphicon-ok form-control-feedback': getField('data.name').$touched && getField('data.name').$valid,
'sd-pending form-control-feedback': getField('data.name').$pending
}
"></span>
<div class="text-danger ng-hide" sd-messages="getErrorForField('data.name')" ng-show="getErrorClassForField('data.name')">
<div class="error" sd-message="required" style="display: none;"> Bitte geben Sie Ihren Nachnamen an </div>
<div class="error" sd-message="pattern" style="display: none;"> Bitte tragen Sie einen gültigen Nachnamen ein </div>
</div>
</div>
</div>
<div class="ng-scope">
<p class="font-weight-bold form-heading sd-mb-0_25 sd-mb-sm-0_5">Kontaktinformation</p>
<p class="sd-m-0">Unsere Handwerker melden sich oft zuerst telefonisch, um Ihnen ein individuelles Angebot zu machen. Dies ist unverbindlich.</p>
</div>
<div class="sd-mb-1_5 sd-mb-md-0 ng-scope">
<div class="form-group" sd-field-id="data.phone_number"
ng-class="{'has-error has-feedback': getErrorClassForField('data.phone_number'), 'has-success has-feedback': getField('data.phone_number').$touched && getField('data.phone_number').$valid}">
<label for="data.phone_number" class="col-xs-12"> Telefon </label>
<div class="placeholder-container col-xs-12 input-tel">
<input type="tel" class="input-sm form-control hide-placeholder ng-pristine ng-untouched ng-isolate-scope ng-empty ng-invalid ng-invalid-required" placeholder="Telefon" ng-model="data.phone_number" name="data.phone_number"
id="data.phone_number" required="" remote-validation="https://skyapi.skydreams.com/1.0/form/validate/phone/CH">
<span aria-hidden="true" ng-class="
{
'glyphicon glyphicon-remove form-control-feedback': getErrorClassForField('data.phone_number'),
'glyphicon glyphicon-ok form-control-feedback': getField('data.phone_number').$touched && getField('data.phone_number').$valid,
'sd-pending form-control-feedback': getField('data.phone_number').$pending
}
"></span>
<!-- ngIf: !getErrorClassForField('data.phone_number') -->
<div class="description ng-scope" ng-if="!getErrorClassForField('data.phone_number')">
<div ng-class="{'text-danger': getErrorClassForField('data.phone_number')}" class="animated">
<div>Ihre Telefonnummer wird nur mit passenden Unternehmen geteilt Wir senden Ihnen eine SMS oder rufen Sie an, um Ihre Nummer zu bestätigen.</div>
</div>
</div><!-- end ngIf: !getErrorClassForField('data.phone_number') -->
<div class="text-danger ng-hide" sd-messages="getErrorForField('data.phone_number')" ng-show="getErrorClassForField('data.phone_number')">
<div class="error" sd-message="required" style="display: none;"> Bitte geben Sie Ihre Telefonnummer ein </div>
<div class="error" sd-message="remote" style="display: none;"> Bitte geben Sie eine gültige Telefonnummer ein </div>
</div>
</div>
</div>
<div class="form-group" sd-field-id="data.email" ng-class="{'has-error has-feedback': getErrorClassForField('data.email'), 'has-success has-feedback': getField('data.email').$touched && getField('data.email').$valid}">
<label for="data.email" class="col-xs-12"> E-Mail </label>
<div class="placeholder-container col-xs-12 input-email">
<input type="email" class="input-sm form-control hide-placeholder ng-pristine ng-untouched ng-isolate-scope ng-empty ng-valid-email ng-invalid ng-invalid-required" placeholder="E-Mail" ng-model="data.email" name="data.email"
id="data.email" required="" remote-validation="https://skyapi.skydreams.com/1.0/form/validate/email" clearable="">
<span aria-hidden="true" ng-class="
{
'glyphicon glyphicon-remove form-control-feedback': getErrorClassForField('data.email'),
'glyphicon glyphicon-ok form-control-feedback': getField('data.email').$touched && getField('data.email').$valid,
'sd-pending form-control-feedback': getField('data.email').$pending
}
"></span>
<!-- ngIf: !getErrorClassForField('data.email') -->
<div class="description ng-scope" ng-if="!getErrorClassForField('data.email')">
<div ng-class="{'text-danger': getErrorClassForField('data.email')}" class="animated">
<div>Unternehmen senden ihr Angebot an Ihre E-Mail-Adresse</div>
</div>
</div><!-- end ngIf: !getErrorClassForField('data.email') -->
<div class="text-danger ng-hide" sd-messages="getErrorForField('data.email')" ng-show="getErrorClassForField('data.email')">
<div class="error" sd-message="required" style="display: none;"> Bitte geben Sie Ihre E-Mail Adresse ein </div>
<div class="error" sd-message="email" style="display: none;"> Bitte geben Sie Ihre E-Mail Adresse ein </div>
<div class="error" sd-message="remote" style="display: none;"> Bitte geben Sie Ihre E-Mail Adresse ein </div>
</div>
</div>
</div>
</div>
</ng-include></dynamic-step3>
<div class="form-group">
<div class="col-xs-12">
<button type="button" id="request-quotes" class="btn-block button d-flex justify-content-center align-items-center" ng-class="{'loading':submitting}" ng-click="progress(true)" ng-disabled="submitting">
<div>Angebot anfragen</div>
</button>
</div>
</div>
<div class="free form-group">
<div class="col-xs-12">
<div class="free text-center">
<span class="glyphicon glyphicon-ok checkmark"></span> Kostenlos - Unverbindlich
</div>
</div>
</div>
</div>
</fieldset>
</div>
</div>
</form>
<form ng-submit="openForm()" class="d-flex flex-column flex-sm-row ng-pristine ng-valid">
<div class="sd-mb-0_5 sd-mb-sm-0 lead text-gray sd-mr-sm-0_5 flex-even">
<input ng-model="data.postcode" ng-class="{ 'invalid-state': showErrorMessage() }" name="postcode" class="form-control upper ng-pristine ng-untouched ng-valid ng-empty" type="text" ng-change="formScope.step = 1" placeholder="Ihre Postleitzahl">
</div>
<div class="flex-even">
<button type="submit" class="btn-arrow-tail" id="pagecenter-cta">Ok</button>
</div>
</form>
<form ng-submit="openForm()" class="d-flex flex-column flex-sm-row ng-pristine ng-valid">
<div class="sd-mb-0_5 sd-mb-sm-0 lead text-gray sd-mr-sm-0_5 flex-even">
<input ng-model="data.postcode" ng-class="{ 'invalid-state': showErrorMessage() }" name="postcode" class="form-control upper ng-pristine ng-untouched ng-valid ng-empty" type="text" ng-change="formScope.step = 1" placeholder="Ihre Postleitzahl">
</div>
<div class="flex-even">
<button type="submit" class="btn-arrow-tail" id="pagecenter-cta">Ok</button>
</div>
</form>
Text Content
1 Million glückliche Kunden 230+ Alarmanlagenfirmen Als Alarmanlagenfirma Anmelden ALARMANLAGE OFFERTEN VERGLEICHEN FINDEN SIE DIE BESTEN ALARMFIRMEN Ok Kostenlos - Unverbindlich 1 Standort 2 Projekt 3 Anfrage einreichen WO BEFINDET SICH IHR PROJEKT? WAS SIND DIE DETAILS IHRES PROJEKTS? KOSTENLOSE ANGEBOTE ERHALTEN VON ALARMANLAGENFIRMEN Postleitzahl Bitte geben Sie eine korrekte Postleitzahl ein Bitte geben Sie eine korrekte Postleitzahl ein Ort Bitte geben Sie Ihren Ort ein Straße Bitte geben Sie Ihre Strasse ein Hausnummer Weiter zu Schritt 2 Kostenlos - Unverbindlich Art der Tätigkeit Alarmanlage installieren Kameraüberwachung installieren Brandschutz einbauen Scharniere und Schlösser einbauen Bitte wählen Sie die Art des Auftrags Art der Anfrage Privat Geschäftlich Bitte geben Sie an, ob es sich um eine geschäftliche oder private Anfrage handelt Art des Hauses Appartement Reihenhaus Reihenhaus - Eckhaus Freistehendes Haus Doppelhaushälfte Wohnung Bitte wählen Sie den Haustyp aus Kabelgebundenes oder drahtloses System Drahtlos Kabelgebunden ich weiß es nicht Bitte geben Sie an, ob Sie eine kabelgebundene oder drahtlose Alarmanlage wünschen Mit Leitwarte verbinden Ja Nein Ich weiß es nicht Bitte wählen Sie die Art der Telefonleitung, die Sie haben Ihr Telefonanschluss Kabel Analog ISDN Keine Ich weiß es nicht Bitte geben Sie an, ob der Alarm mit einer Leitwarte verbunden werden soll Rauchmelder erwünscht Ja Nein Ich weiß es nicht Bitte geben Sie an, ob Sie einen Rauchmelder hinzufügen möchten Startdatum Innerhalb von 1 Monat Innerhalb von 1 bis 3 Monaten Innerhalb von 3 bis 6 Monaten Keine Präferenz Bitte wählen Sie Ihr bevorzugtes Ausführungdatum Möchten Sie Fotos hinzufügen? Keine Bilder vorhanden? Kein Problem Nein Ja showOptionalFileInput.error Beabsichtigen Sie, dieses Projekt durchzuführen? Ja, nach dem Vergleich von Handwerkern Ich bin mir noch nicht sicher, es hängt von den Informationen ab, die ich bekomme. Nein, ich suche nur nach Informationen. Bitte wählen Sie eine der oben genannten Antworten aus. Projektbeschreibung Beschreiben Sie kurz Ihr Projekt und erhalten Sie genauere Offerten Bitte beschreiben Sie Ihr Projekt. Mindestens 10 Zeichen. Bitte beschreiben Sie Ihr Projekt. Mindestens 10 Zeichen. Weiter zum letzten Schritt Kostenlos - Unverbindlich Name und Anrede Anrede Herr Frau Bitte wählen Sie Ihre Anrede aus Vorname Bitte geben Sie Ihren Vornamen an Bitte tragen Sie einen gültigen Vornamen ein Nachname Bitte geben Sie Ihren Nachnamen an Bitte tragen Sie einen gültigen Nachnamen ein Kontaktinformation Unsere Handwerker melden sich oft zuerst telefonisch, um Ihnen ein individuelles Angebot zu machen. Dies ist unverbindlich. Telefon Ihre Telefonnummer wird nur mit passenden Unternehmen geteilt Wir senden Ihnen eine SMS oder rufen Sie an, um Ihre Nummer zu bestätigen. Bitte geben Sie Ihre Telefonnummer ein Bitte geben Sie eine gültige Telefonnummer ein E-Mail Unternehmen senden ihr Angebot an Ihre E-Mail-Adresse Bitte geben Sie Ihre E-Mail Adresse ein Bitte geben Sie Ihre E-Mail Adresse ein Bitte geben Sie Ihre E-Mail Adresse ein Angebot anfragen Kostenlos - Unverbindlich Nr. 1 Alarmanlagenportal in der Schweiz Die letzte Anfrage wurde vor 6 Minuten gestellt Es wurden heute 198 Anfragen gestellt 1 Million glückliche Kunden SSL gesicherte Seite VERGLEICHEN SIE ALARMANLAGENFIRMEN WIE: WARUM ALARM-365.CH? GELD SPAREN Bis zu 40% auf Ihren Autrag sparen ZEIT SPAREN In nur 1 Minute ERHALTEN SIE MEHRERE ANGEBOTE Vertraute lokale Unternehmen KOSTENLOS ANGEBOTE ERHALTEN UND BIS ZU 40% SPAREN Ok NEHMEN SIE UNS BEIM WORT "AUSGEZEICHNETER UND ZUVERLÄSSIGER SERVICE!" Definitiv der beste Ort um nach einem qualifizierten Fachmann zu suchen. Der Service ist effizient und einfach zu benutzen. Ich musste mir nur die Angebote angucken und konnte zwischen dem besten wählen. Reibungsloser und hervorragender Service. Vielen Dank! - Peter Schmidt "PREISWERT" Das Portal hat mir sehr dabei geholfen einen guten Alarmanlagen Fachmann zu finden. Nachdem ich die Angebote verglichen habe hat es nur einige Minuten gedauert. - A. Müller KOSTENLOS ANGEBOTE ERHALTEN UND BIS ZU 40% SPAREN Ok WARUM SOLLTEN SIE SICH FÜR UNS ENTSCHEIDEN? Nr.1 Alarmportal in der Schweiz 1 Million glückliche Kunden 15+ Jahre an Erfahrung 230+ Alarmfirmen SIND SIE EINE ALARMANLAGENFIRMA? Kostenlose Probezeit jetzt beginnen × Startseite Was wir tun Datenschutz Kontakt Als Alarmanlagenfirma Anmelden Senden Sie eine kostenlose Anfrage an unsere Partner. Vergleichen Sie bis zu 4 Unternehmen. FÜR VERBRAUCHER * Startseite * Was wir tun * Datenschutz * Impressum * Kontakt FÜR UNTERNEHMEN * So funktioniert's * Kostenlose Probezeit BRAUCHEN SIE HILFE? info@alarm-365.ch © Urheberrecht 2016 - Alarm-365.ch. Alle Rechte vorbehalten