我在类似的问题上经历了很多问题,但似乎无法得到此工作。我想要做的是当单击按钮时,用单词“now”替换表单域的值,然后提交表单。最初,HTML形式如下:在通过JavaScript提交之前更改表单值
<tr id="row43" bgcolor="#FF0000">
<form id="form43" name="loggingUpdate" action="index.php" method="POST">
<td>PersonsName</td><td>SGS 1-26</td>
<td><input type="text" name="takeoff" id="takeoff43"/><a href='#' onclick='startTakeoff(43);return false;'><img alt='Start Now' src='brush_24.png' border='0'></a></td>
<td><input type="text" name="landing" /></td><td>0 Mins</td>
<td><input type="text" name="towHeight" /></td>
<td><input type="hidden" name="flightIndex" value="43"/><input type="submit" value="Update..." /> <a href=deleteEntry.php?flightIndex=43><img src="close_24.png" /></a></td>
</form></tr>
JavaScript时通过的onclick触发如下图所示:
function startTakeoff(flightIndex) {
var flightForm = document.getElementById("form"+flightIndex);
var flightRow = document.getElementById("row"+flightIndex);
flightRow.cells[2].innerHTML = "<input type=\"text\" name=\"takeoff\" value=\"now\"><a href=\"#\" onclick=\"startTakeoff(43);return false;\"><img alt=\"Start Now\" src=\"brush_24.png\" border=\"0\"></a>";
flightForm.submit();
}
所以单击该按钮时,应更换单元格的值“现在'并提交表单。问题在于提交时,更改后的值实际上并未提交。如果我手动添加某些其他字段(例如towHeight)并点击按钮,它会成功提交。换句话说,只有点击按钮时才会提交的“起飞”字段。我以前从来没有使用Javascript,所以这对我来说似乎很奇怪。
在后台的方式,有一个PHP脚本生成的HTML和采取提交的输入,因此一些奇怪的ID。整个页面可以在这里看到,以防万一我遗漏了任何东西http://ad7zj.net/logging/index.php我很感激帮助!
小心使用这种方法 - 如果浏览器不支持JavaScript,你可以得到坏值回服务器上。正如Jeremy在下面所说的,考虑从服务器获取时间,而不是。 –