在提交时将Javascript变量提供到表单字段中

时间:2012-10-15 01:58:53

标签: javascript forms javascript-events

我有这个几乎工作,但不能完成它。我在预订页面上有一个jQuery datepicker,它以mm / dd / yyyy的形式输入“Arrival”字段。我使用Javascript将其拆分为单独的mm,dd和yyyy值,我现在尝试将这些值反馈到表单上的月,日和年字段,然后将表单发布到第三方处理站点

我可以使用Javascript成功地为这些字段分配值,但我的挑战是在提交按钮被点击后发生这种情况,因为我需要它来携带用户选择的日期。 / p>

为了给你所有相关的部分,这是我的提交按钮:

<input type='submit' onclick='toProcess()' name="submitButton" id='submitButton'
value='Check Availability' />

这是函数(单击“提交”按钮时应该运行)以获取日期并将其拆分为三个单独的值:

function toProcess(){
    var date = document.getElementById("Arrival").value;
    var splitDate = date.split("/");
    var arrivalMonth = splitDate[0];
    var arrivalDay = splitDate[1];
    var arrivalYear = splitDate[2];
    return [arrivalMonth, arrivalDay, arrivalYear];
}

这里我将返回的值创建变量以反馈到表单中:

var newDates = toProcess();
arrivalMonth = newDates[0];
arrivalDay = newDates[1];
arrivalYear = newDates[2];

到目前为止,一切都没有任何问题。通过使用警报,我已经能够看到这些值肯定是到目前为止。但是我现在还没有能够将这些值反馈到表单中。

我正在尝试这样做:

document.getElementById("Month").value = arrivalMonth;
document.getElementById("Day").value =  arrivalDay;
document.getElementById("Year").value =  arrivalYear;

如果我使用在提交按钮被击中之前存在的变量,这种方法可以正常工作。我无法使 new 值生效。

我怀疑问题是,虽然通过单击“提交”按钮正确调用了该函数,但是后面的元素没有被执行,因为它们在函数之外。我只是无法弄清楚如何将这些值发送回函数内部的表单字段。

我清楚地解释了吗?任何有关这方面的帮助将不胜感激。谢谢!

1 个答案:

答案 0 :(得分:0)

所以基本上,在点击提交按钮时,你准备好的输出没有显示在所需的字段中。

你可以做一个小提琴吗?

此外,我在过去遇到的一个问题是我没有意识到提交按钮刷新了页面,因此有效地删除了任何脚本使用。