2009-04-17 5 views
0

J'ai une page "MyPage.aspx" qui appelle "MyForm.aspx" avec prototypeASP.Net validation ne fonctionne pas lors de l'appel page via ajax

nouvelle Ajax.Updater ('display', « /myform.aspx 'etc ....

Cependant, lorsque la page rend il

-à-dire, je ne vois pas les scripts comme ci-dessous quand j'appelle la page via ajax. aucun script de validation sur la page. S'il suffit d'appeler myForm.aspx je vois les scripts ci-dessous

<script type="text/javascript"> 
//<![CDATA[ 
var FlagForm1_RequiredFieldValidator1 = document.all ? document.all["FlagForm1_RequiredFieldValidator1"] : document.getElementById("FlagForm1_RequiredFieldValidator1"); 
FlagForm1_RequiredFieldValidator1.controltovalidate = "FlagForm1_TextBoxName"; 
FlagForm1_RequiredFieldValidator1.errormessage = "RequiredFieldValidator"; 
FlagForm1_RequiredFieldValidator1.evaluationfunction = "RequiredFieldValidatorEvaluateIsValid"; 
FlagForm1_RequiredFieldValidator1.initialvalue = ""; 
var FlagForm1_RequiredFieldValidator2 = document.all ? document.all["FlagForm1_RequiredFieldValidator2"] : document.getElementById("FlagForm1_RequiredFieldValidator2"); 
FlagForm1_RequiredFieldValidator2.controltovalidate = "FlagForm1_TextBoxEmail"; 
FlagForm1_RequiredFieldValidator2.errormessage = "RequiredFieldValidator"; 
FlagForm1_RequiredFieldValidator2.evaluationfunction = "RequiredFieldValidatorEvaluateIsValid"; 
FlagForm1_RequiredFieldValidator2.initialvalue = ""; 
var FlagForm1_RequiredFieldValidator3 = document.all ? document.all["FlagForm1_RequiredFieldValidator3"] : document.getElementById("FlagForm1_RequiredFieldValidator3"); 
FlagForm1_RequiredFieldValidator3.controltovalidate = "FlagForm1_TextBoxComment"; 
FlagForm1_RequiredFieldValidator3.errormessage = "RequiredFieldValidator"; 
FlagForm1_RequiredFieldValidator3.evaluationfunction = "RequiredFieldValidatorEvaluateIsValid"; 
FlagForm1_RequiredFieldValidator3.initialvalue = ""; 
//]]> 
</script> 

Répondre

0

vous devez définir evalscripts: true. Comme le suggère le nom de la propriété, cela permet d'évaluer les scripts. En outre, vous devez placer les scripts dans la page parente.

var myAjax = new Ajax.Updater(
        'container', 
        url, 
        { 
        asynchronous:true, 
        method: 'get', 
        parameters: pars, 
        evalScripts: true, 
        onFailure: reportError 
        } 
       );