JavaScript submit (); проблема в IE / Safari / FF для Mac - PullRequest
2 голосов
/ 04 декабря 2010

Я пишу приложение для 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)) в ранее названных браузерах.Как видите, я позаботился о том, чтобы идентификаторы и имена были разными, так как некоторые браузеры смешивают их.Буду признателен за любую помощь, я работаю над этим уже 2 дня ..

Ответы [ 6 ]

1 голос
/ 04 декабря 2010

используйте 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
  });
});
0 голосов
/ 04 декабря 2010

, если вы хотите использовать идентификатор формы, просто сделайте document.getElementById ("myScore"). Submit или вы можете добавить имя = "myScore" в форму атрибутов.

0 голосов
/ 04 декабря 2010

Есть ли у вас какой-либо элемент с идентификатором или именем "submit" где-нибудь на странице? Если это так, попробуйте изменить это на что-то другое, поскольку это может вызвать конфликт.

Также вы можете попробовать добавить атрибут name="myScore" к тегу формы.

0 голосов
/ 04 декабря 2010

IE getElementById не чувствителен к регистру (по крайней мере, в каждой версии, которую я проверял).Вы должны переименовать вашу форму в scoreSubmitForm или что-то еще.

0 голосов
/ 04 декабря 2010

Попробуйте дать вашей форме идентификатор и затем используйте document.getElementById('yourformid').submit();

0 голосов
/ 04 декабря 2010
<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>
...