我正在编写Facebook应用程序,我想使用JavaScript提交表单。这在Windows上完美运行:Opera,Chrome,FF。但不适用于IE和Mac:FF,Safari。
情况就是这样:
功能:
function postScore(){
document.getElementById('idscore').value = document.getElementById('countScore').innerHTML;
document.getElementById('idtime').value = document.getElementById('countTime').innerHTML;
document.forms["myScore"].submit();
}
形式:
<form action="score.php" id="myScore" method="POST">
<input type="text" name="score" id="idscore" />
<input type="text" name="time" id="idtime" />
</form>
触发功能:
<a href="#" onclick="postScore();">Submit</a>
Score.php在之前命名的浏览器中没有收到任何信息(使用print_r($ _ POST)检查)。正如您所看到的,我确保Id和名称不同,因为有些浏览器将它们混合起来。任何帮助都将受到高度赞赏,我已经为此工作了2天..
答案 0 :(得分:1)
像这样使用jQuery
$(document).ready(function() {
$("#myscore").submit(function() {
$("#container").innerHTML = $(this).find("#idscore").val;
$("#container2").innerHTML = $(this).find("#idtime").val;
return false; // so it does not actually execute the submit
});
});
答案 1 :(得分:0)
<form action="score.php" name="myScore" id="myScore" method="POST">
<input type="text" name="score" id="idscore" />
<input type="text" name="time" id="idtime" />
</form>
答案 2 :(得分:0)
尝试为您的表单提供ID,然后使用document.getElementById('yourformid').submit();
答案 3 :(得分:0)
IE的getElementById
不区分大小写(至少在我检查的每个版本中都是如此)。您应该将表单重命名为scoreSubmitForm
或其他内容。
答案 4 :(得分:0)
您是否在页面的任何位置有任何ID为“提交”的元素?如果是这样,请尝试将其更改为不同的内容,因为它可能会导致冲突。
此外,您也可以尝试在表单标记中添加name="myScore"
属性。
答案 5 :(得分:0)
如果你想使用表单的id,只需make document.getElementById(“myScore”)。submit,或者你可以在attributs表单中添加name =“myScore”。