2010-08-02 43 views
0

我們公司爲其電子商務網站使用封閉式購物車系統。檢出頁面由我無法修改的cgi腳本生成。我想用我自己的替換它生成的表單驗證腳本。我試圖替換的腳本是文檔中的第二個腳本。我在腳註部分插入了以下腳本:試圖用Javascript代替<script>標籤的內容

document.body.getElementsByTagName("SCRIPT")[1].innerHTML = "New Validation Function Here"; 

但是,當調用驗證函數時,舊函數會執行,而不是我的新函數。

我哪裏錯了?有沒有更好的辦法?

Chris

回答

1

您不需要替換已執行的舊SCRIPT標記。

驗證功能只是一個值,函數名是一個變量,所以你可能只是這樣做:

<script> 

oldValidationFunctionName = function(param1, param2, whatever) { 
    // the new function body here... 
} 

</script> 
5

您可能有更好的機會來替換全局範圍內的驗證函數。

<!-- Old script file --> 
<script> 

function doValidate(value) { 
return true; 
} 
</script> 

<!-- New script file --> 
<script> 
function doValidateNew(value) { 
return false; 
} 
window.doValidate = doValidateNew; 
</script>