2010-09-29 37 views
6

tôi có mã này, chúng ta hãy nói rằng nó a.htmlMẫu "là không xác định" lỗi trong 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> 

Cả và đang làm việc trong IE (IE 8), nhưng không phải trong FF (3.6 .10). Firebug cung cấp cho tôi lỗi sau:

document.frmSubmit is undefined

Làm cách nào để khắc phục sự cố?

+0

Cả hai phương pháp đều hoạt động tốt (và thực hiện, đối với tôi). Tôi nghi ngờ lỗi của bạn nằm ở một nơi khác và đây không phải là biểu diễn thực sự của mã bạn có. Xem http://jsfiddle.net/VL8C3/, tôi đã thay thế các phương thức của bạn bằng các đầu ra giao diện điều khiển đơn giản để bạn có thể thấy 'document.frmSubmit' * được * định nghĩa. –

+0

có phải là

phải nằm trong số ? hoặc đó là một lỗi? Tôi đã cố gắng thêm đơn giản

abcd

trước và nó hoạt động: D – tsurahman

+0

@Andy: tập lệnh giống hệt như tập lệnh trên – tsurahman

Trả lời

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 bình luận của bạn không rõ ràng. –

+0

abcd

.... nó hoạt động hoặc
... nó hoạt động, có vẻ như tôi phải thêm một thẻ khác trước để làm cho thẻ hoạt động – tsurahman

0

Thông thường, khi tôi sẽ mã hóa những workarrounds, để tránh lỗi để ngăn chặn việc thực hiện, tôi xung quanh khối mâu thuẫn với thử & cathc. Tôi khuyên bạn nên xung quanh và với các khối try/catch, do đó, có lỗi ở đó, nó không dừng thực thi tập lệnh.

0

Tôi có vấn đề này giống nhau, và được quản lý để làm cho nó hoạt động bằng cách làm như sau:

  • Có một ImageButton hoặc bất kỳ loại khác của đối tượng postback vào mẫu của bạn mà sẽ hiển thị những gì bạn muốn ("mua ngay bây giờ ! ")
  • Có một sự kiện trong codebehind khi được nhấp vào.
  • Khi nhấp vào sự kiện, hãy thực hiện phản hồi.chuyển đến trang mới mà bạn sẽ tạo (postpaypal.aspx).
  • Tạo tệp mới (postpaypal.aspx), không sử dụng trang chính, có biểu mẫu riêng và mã và hành động paypal chuẩn.

Điều này làm việc tốt cho tôi và đơn giản và hiệu quả.

0

Hãy kiểm tra xem bạn đã đưa ra, input type = "submit" name = "submit" value = "Tiếp tục"

Thay vì điều đó, tên nên được như thế loại đầu vào này = "submit" name = "sub" value = "Proceed"

NB: tên phải khác với "gửi"

Các vấn đề liên quan