私は同様の問題について多くの質問をしましたが、これを機能させることができないようです。私がやろうとしているのは、ボタンがクリックされたときに、フォームフィールドの値を「now」という単語に置き換えてから、フォームを送信することです。最初、HTMLフォームは次のようになります。
<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>
onclickによってトリガーされるJavascriptは次のとおりです。
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();
}
したがって、ボタンをクリックすると、セルの値が「now」に置き換えられ、フォームが送信されます。問題は、送信している間、変更された値が実際に送信されないことです。他のフィールドの1つ(たとえば、towHeight)に手動で何かを追加してボタンをクリックすると、正常に送信されます。つまり、ボタンがクリックされたときに送信されないのは「離陸」フィールドだけです。私はこれまでJavascriptを使ったことがないので、これは私には非常に奇妙に思えます。
背景として、HTMLを生成し、送信された入力を取得するPHPスクリプトがあります。したがって、いくつかの奇妙なIDがあります。http://ad7zj.net/logging/index.php 助け ていただければ幸いです。