将字段值从一个字段复制到另一个字段

时间:2013-03-26 21:17:00

标签: javascript html input copy field

我需要将两个单独字段中的两个字段值复制到同一页面上的另一个表单中的相应字段。

输入字段:名字 输入字段:姓氏

将这些值复制到:

输入字段:结算名字 输入字段:送货名字

我已经尝试了以下代码无济于事,我从另一个网站上攻击了它,它有一个同样的复选框,在我的情况下,有一个表格用于输入客户的名字,姓氏和电子邮件,客户然后单击“继续”按钮,然后加载下一个表单,我希望根据初始表单自动填写第一个/最后一个表单。

这是我在文档中使用的代码。

<script type = "text/javascript">
function FillBilling(f) {
  if(f.dispatch[checkout.update_steps].submit == true) {
    f.user_data[firstname].value = f.user_data[b_firstname].value;
    f.user_data[lastname].value = f.user_data[b_lastname].value;
  }
}
</script>

这些字段是默认生成的,不幸的是我无法更改ID和名称值。

名字:

<input type="text" class="input-text " value="" size="32" name="user_data[firstname]" id="elm_6">

姓氏:

<input type="text" class="input-text " value="" size="32" name="user_data[lastname]" id="elm_7">

继续按钮:

<input type="submit" value="Continue" name="dispatch[checkout.update_steps]">

结算名字:

<input type="text" class="input-text " value="" size="32" name="user_data[b_firstname]" id="elm_14">

结算姓氏:

<input type="text" class="input-text " value="" size="32" name="user_data[s_firstname]" id="elm_16">

我认为,但可能是错误的,因为继续提交按钮的名称包含一个点(dispatch [checkout.update_steps]),这打破了Javascript,但我不确定。

我还注意到“First Name”,“Last Name”字段和“Continue”按钮是单独的形式,数据通过Ajax发送到同一页面上的第二个表单。第一个表单有name =“step_one_contact_information_form”,第二个表单(Billing First Name,Billing Last Name)有name =“step_two_billing_address”。

有什么想法吗?

感谢您的建议!

2 个答案:

答案 0 :(得分:0)

我建议你使用jQuery。我为你做了这个很简单: http://jsfiddle.net/FPsdy/1/

以下是代码示例:

$('input[type=submit]').click(function(){
   $('#elm_14').val($('#elm_6').val());
   $('#elm_16').val($('#elm_7').val());
});

答案 1 :(得分:0)

尝试这样的事情:

向您的按钮添加onclick事件(最好使用事件监听器,但以下方式也可以)

<input type="submit" value="Continue" name="dispatch[checkout.update_steps]" onclick="return fillBilling()">

并将您的功能更改为执行以下操作:

function fillBilling() {
    document.getElementsByName("user_data[b_firstname]")[0].value = document.getElementsByName("user_data[firstname]")[0].value;
    document.getElementsByName("user_data[s_firstname]")[0].value = document.getElementsByName("user_data[lastname]")[0].value;
    return false;
}

如果ID始终相同,则可以使用document.getElementByID("elm_[x]")(将[x]替换为各自的ID)

此外,我建议您更改按钮以输入“按钮”,这样如果您不打算使用它来提交表单:

<input type="button"... />

希望这有帮助