2012-05-29 39 views
0

我們有一段javascript注入頁面,負責重定向,重新設計頁面後,主頁面javascript不再有效。Javascript重新設計後不再工作

的JavaScript是嚴格按照以下

function PostVspForm() 
{{ 
    var vspForm = document.forms['vsp']; 
    if (!vspForm) vspForm = document.vsp; 
    if (!vspForm.onsubmit || (vspForm.onsubmit() != false)) 
    {{ 
     vspForm.action = '{0}'; 
     vspForm.submit(); 
    }} 
}} 
PostVspForm(); 

我不相信它做什麼或如何糾正它,記住它也需要如上以及工作軸承。

我相信它只是標識一個叫做vsp的窗體,這個窗體仍然在頁面上,但是現在在調用document.vsp之後對象是null。

回答

1

您是否更改了此代碼相對於其所針對的vsp表單的位置?如果是這樣,您可能會在表單存在於頁面之前運行它。

嘗試移動你的JS到頁面的底部,或者在這樣的塊包裝它:

window.onload=function(){ 
    //your code here 
    console.log(vspForm); 
} 

如果您正在使用jQuery,你可以這樣做:

$(document).ready(function() { 
    // your code here 
}); 

希望這有幫助!

+0

js緊跟在表單之後,真的是一塊javascript,它會發現表單,而不管它在頁面上的位置是否足夠。 – Robert

+0

請用vsp表單的html更新你的問題。 – christurnerio

+0

已通過將表單移動到另一個表單的主體之外來解決此問題。重新設計改變了佈局很多,我想你不能在沒有更新該javascript的情況下在表單標籤中使用表單標籤。我移動了表單,並將腳本保持原樣。 – Robert

0

這很奇怪。使用Javascript進行重定向或某種驗證。我建議用位於page_load()方法後面的代碼替換它。

+0

JavaScript非常適合在服務器往返之前驗證輸入。 – Robert

+0

哦,當然,但它肯定不是一個明確的驗證方法。 – MrJinPengyou