0

我有一个包含多个字段的表单,我需要使用 javascript 自定义一些字段以允许我:

  1. 为“城市”字段预填充值“纽约”

  2. 将“电子邮件”字段设为只读

  3. 预填充并只读字段“国家”

为了得到第 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。我做了一些测试,但没有成功。如果你能给我一些例子...

4

2 回答 2

1

我不确定你错过了什么,但试试这个

var country = document.getElementById('country');
country.value = "USA";
country.readOnly = true;

正如上面评论中提到的jimjimmy1985,您也可以在标记中执行此操作

<input name="country" id="country" value="USA" readonly>
于 2013-02-08T01:13:54.007 回答
0

假设您在表单标签中使用 'on...="on_form_loaded"' 作为属性并且添加 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。

于 2013-02-08T01:37:51.987 回答