2012-10-15 43 views
0

我已经得到了这个几乎工作,但不能完全完成它。我在预订页面上有一个jQuery datepicker,以mm/dd/yyyy的形式输入“到达”字段。我正在使用JavaScript将它分成单独的mm,dd和yyyy值,现在我正试图在表单发布到第三方处理站点之前将这些值反馈回表单中的Month,Day和Year字段。提交Javascript变量到表单字段提交

我可以使用Javascript成功地为这些字段赋值,但是我的挑战就是在之后提交按钮已被击中,因为我需要它来携带用户选择的日期。

来给你所有相关的作品,这是我的提交按钮:

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

如果我使用已存在的提交按钮被击中之前变量这种方式工作得很好。我只是无法获得新值的值。

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

我解释清楚了吗?任何帮助,将不胜感激。谢谢!

+0

为什么要在'toProcess'函数中返回一个数组呢?也不能在'toProcess'函数中设置表单域的值吗? – Musa

+0

感谢您的提问。诚然,仍然在学习JavaScript,但我明白我需要使用一个数组来返回函数中的多个值。这不是这种情况吗? 我最初尝试从函数内部设置字段的值,但无法使其工作。我认为这是因为它们是本地的而不是全局变量。如果有办法从内部完成,那可能会解决问题。 –

+0

这是你正在尝试做什么? HTTP://的jsfiddle。净/ EamR7/ – Musa

回答

0

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

你能不能拿出一把小提琴?

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

+0

谢谢;如上所述,我现在正在通过Musa创建的小提琴。一旦我弄清楚发生了什么,我们很快就会得到更新。 –

+0

应该工作,不确定。 http://jsfiddle.net/namanyayg/dg6rt/19/ – NamanyayG