2010-09-29 4 views
6

У меня есть этот код, скажем это a.htmlформа "не определен" ошибка в Firefox

<form name="frmSubmit" id="frmSubmit" method="post"> 
<input type="hidden" name="hdnName" value="user name" /> 
</form> 

<script> 
// 1 : start 
document.frmSubmit.action = 'b.html'; 
document.frmSubmit.submit(); 
// 1 : end 

// 2 : start 
document.getElementById("frmSubmit").action = 'b.html'; 
document.getElementById("frmSubmit").submit(); 
// 2 : end 
</script> 

И и работают в IE (IE 8), но не в FF (3,6 +0,10). Firebug дает мне следующую ошибку:

document.frmSubmit is undefined

Как это исправить?

+0

Оба метода должны работать нормально (и делать, для меня). Я подозреваю, что ваша ошибка лежит где-то в другом месте, и это не истинное представление кода, который у вас есть. См. Http://jsfiddle.net/VL8C3/, я заменил ваши методы на простые выходы консоли, чтобы вы могли определить 'document.frmSubmit' * is *. –

+0

Это

должно быть ? или это ошибки? Я попытался добавить простой

abcd

до , и это работа: D – tsurahman

+0

@ Andy: скрипт точно такой же, как и выше скрипт – tsurahman

ответ

1
<html> 
<head> 

<script> 
function setup(){ 
// 1 : start 
document.frmSubmit.action = 'b.html'; 
document.frmSubmit.submit(); 
// 1 : end 

// 2 : start 
document.getElementById("frmSubmit").action = 'b.html'; 
document.getElementById("frmSubmit").submit(); 
// 2 : end 
} 
</script> 
</head> 
<body onload="setup()"> 
<form name="frmSubmit" id="frmSubmit" method="post"> 
<input type="hidden" name="hdnName" value="user name" /> 
</form> 
</body> 
</html> 
+0

@tsurahman ваш комментарий не ясен. –

+0

abcd

.... это работает, или
... это работает, кажется, мне нужно добавить еще тег до , чтобы он работал – tsurahman

0

Обычно, когда я собираюсь кодировать эти workarrounds, чтобы избежать ошибки, чтобы остановить выполнение, я окружаю конфликтующие блоки с попробовать & cathc. Я бы порекомендовал окружающих и с блоками try/catch, так что там есть ошибка, это не останавливает выполнение скрипта.

0

У меня была такая же проблема, и сумел заставить его работать, выполнив следующие действия:

  • Есть ImageButton или любой другой тип объекта обратной передачи на вашей форме, которая отображает то, что вы хотите ("купить сейчас ! ")
  • У вас есть событие в codebehind, когда это было нажато.
  • При щелчке события сделайте response.redirect на новую страницу, которую вы создадите (postpaypal.aspx).
  • Создать новый файл (postpaypal.aspx), который не использует главную страницу, имеет свою собственную форму и стандартный код и действия PayPal.

Это прекрасно работало для меня и было простым и эффективным.

0

Пожалуйста, проверьте, были ли даны, тип ввода = «отправить» имя = «отправить» значение = «Продолжить»

Вместо этого, название должно быть, как это тип входного = «отправить» имя = «субсчет» значение = «Продолжить»

NB: название должно быть иным, чем «представить»