Я работаю над контактной формой. Дело в том, что он должен быть доступен без JavaScript. Если доступен JavaScript, я хочу спросить посетителей о некоторых деталях, исходя из их цели контакта.AngularJS: Получить значение из select и ввести HTML на основе этого
HTML может выглядеть следующим образом (метки пропускаются с целью, чтобы сократить код):
<form action="">
<select name="purpose">
<option value="hello">Just saying hi</option>
<option value="support">Customer Support</option>
<option value="interview">Interview</option>
</select>
...
<button>Submit</button>
</form>
Ну, если бы я мог, я бы просто добавить некоторые области, которые будут показаны на основе «модели». Но я не могу этого сделать, потому что я не хочу показывать дополнительные поля людям без JS. Было бы так:
<form action="" ng-app>
<select name="purpose" ng-model="purpose">
<option value="hello">Just saying hi</option>
<option value="support">Customer Support</option>
<option value="interview">Interview</option>
</select>
...
<div ng-show="purpose == 'support'">
<input type="text" name="customernumber" />
</div>
<div ng-show="purpose == 'interview'">
Sorry, I'm not giving interviews
</div>
...
<button>Submit</button>
</form>
Дело в том, что я буду задавать много дополнительных вопросов. При отключенном JS посетитель увидит раздутую контактную форму со всеми полями и сообщениями.
Я ищу решение, которое будет считывать значение и вводить HTML из JS-файла в определенное место.
<form action="" ng-app>
<select name="purpose" ng-model="purpose">
<option value="hello">Just saying hi</option>
<option value="support">Customer Support</option>
<option value="interview">Interview</option>
</select>
...
{{injectedHTML}}
...
<button>Submit</button>
</form>
Это звучит странно, но все должно быть в соответствии с требованиями местного муниципального управления. Они хотят показывать эти конкретные поля только людям с JS. Возможно, они считают, что это хорошо для доступности. Я не уверен.
Спасибо всем.
спасибо. Это определенно сработает. Но я искал решение, которое было бы более элегантным. Что-то с контроллерами. – JoKr