【发布时间】:2015-03-29 06:20:16
【问题描述】:
我正在处理联系表格。关键是它应该可以在没有 JavaScript 的情况下访问。如果 JavaScript 可用,我想根据访问者的联系目的向访问者询问一些详细信息。
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 后,访问者将看到一个包含所有字段和消息的臃肿联系表单。
我正在寻找一种可以读取 JS 文件的值并将 HTML 注入特定位置的解决方案。
<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 的人展示这些特定字段。 也许他们认为这对可访问性有好处。我不确定。
谢谢大家。
【问题讨论】: