0

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

输入栏:名字 输入栏:姓

将这些值复制到:

输入字段:账单名字 输入字段:发货名字

我尝试了以下代码无济于事,我从另一个网站上破解了它,该网站有一个相同的复选框,在我的情况下,有一个表格用于输入客户的名字,姓氏和电子邮件,然后客户点击继续按钮,然后加载下一个表单,此表单是我想根据初始表单自动填写名字/姓氏的地方。

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

<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,但我不确定。

我还注意到“名字”、“姓氏”字段和“继续”按钮位于单独的表单上,数据通过 Ajax 发送到同一页面上的第二个表单。第一个表单具有 name="step_one_contact_information_form",第二个表单(Billing First Name、Billing Last Name)具有 name="step_two_billing_address"。

有任何想法吗?

谢谢你的建议!

4

2 回答 2

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;
}

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

另外,我建议将按钮更改为键入“按钮”,因此如果您不打算使用它来提交表单:

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

希望这可以帮助

于 2013-03-26T21:59:01.353 回答
0

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

以下是代码示例:

$('input[type=submit]').click(function(){
   $('#elm_14').val($('#elm_6').val());
   $('#elm_16').val($('#elm_7').val());
});
于 2013-03-26T21:28:18.457 回答