JavaScript submit(); IE / Safari / FF for Mac中的问题

时间:2010-12-04 15:00:44

标签: php javascript forms submit

我正在编写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天..

6 个答案:

答案 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”。