我有一个包含多个字段的表单,我需要使用javascript自定义一些字段,以便我:
为“city”字段预填“New York”值
将字段“email”设为只读
预填充并且只读字段“country”
为了得到第1点的结果,我使用了这个效果很好的代码:
<script type="text/javascript">function on_form_loaded(event) {
if (event=='reserve')
document.getElementById('city').setAttribute("value", "New York");
}</script>
为了得到第2点的结果,我使用了这个效果很好的代码:
<script type="text/javascript">function on_form_loaded(event) {
if (event=='reserve')
document.getElementById('email').readOnly=true;
}</script>
但是现在我没有看到如何“混合”预填充/只读参数以获得第3点的结果。
有人可以帮忙吗?
此外,我想缩短代码,以避免为每个字段包含一个javascript。我做了一些测试但没有成功。如果你能给我一些例子......
答案 0 :(得分:1)
我不确定你错过了什么,但试试这个
var country = document.getElementById('country');
country.value = "USA";
country.readOnly = true;
如上面评论中提到的jimjimmy1985,您也可以在标记中执行此操作
<input name="country" id="country" value="USA" readonly>
答案 1 :(得分:0)
假设您正在使用&#39; on ... =&#34; on_form_loaded&#34;&#39;作为表单标记中的属性并且添加jQuery没有问题,您可以尝试:
<script type="text/javascript">
jQuery('#ID_OF_YOUR_FORM').ready( function(event) {
if (event=='reserve') {
var form_object = jQuery(this);
form_object.find('#city').value('New York').end()
.find('#country').value('USA').end()
.find('#country, #email').attr('readonly', true);
}
});
</script>
ID_OF_YOUR_FORM必须由您的表单个人ID替换。