2010-08-02 1 views
0

Notre société utilise un système de panier fermé pour son site Web e-comreace. La page d'extraction est générée par un script cgi que je ne peux pas modifier. Je voudrais remplacer le script de validation de formulaire qu'il génère par le mien. Le script que j'essaie de remplacer est le deuxième script du document. J'ai inséré le script suivant dans la section de pied de page:Essayer de remplacer le contenu d'une balise <script> à l'aide de Javascript

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

cependant lorsque la fonction de validation est appelée l'ancien exécute, pas ma nouvelle fonction.

Où est-ce que je me trompe? Y a-t-il un meilleur moyen?

Chris

Répondre

1

Vous n'avez pas besoin de remplacer l'ancienne balise SCRIPT déjà exécutée.

La fonction de validation est juste une valeur, et le nom de la fonction est une variable, vous pouvez donc faire:

<script> 

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

</script> 
5

Vous avez probablement une meilleure chance de remplacer la fonction de validation dans la portée globale.

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

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

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