Executer une fonction de JS avant de faire le Submit ?


(Nadji88) #1

Salut tous le monde,

Je suis un débutant en Yii && PHP/Javascript.

Je veux executer une fonction en JS juste avant de faire le submit de mon Form.

Je veux faire quelque choses comme ça en Yii


<html>

<head>

<script>

function doThis()

{

alert("testing");

return true

}

</script>

</head>

<body>

<form action="test.php" onsubmit="return doThis()" method="post">

<input type=submit >

</form>

</body>

</html>

Quelqu’un peut me dire comment l’impelementer avec Yii S.V.P ?

Merci d’avance :D


(Grandoom2010) #2

d’après ce que j’ai cru comprendre tu peux t’appuyer sur l’option beforeValidate de la propriété ‘clientsOptions’ de la classe CActiveForm

donc dans la ‘view’ de ton formulaire tu devrais avoir un truc du genre


$form=$this->beginWidget('CActiveForm', array(

     'id'=>'mon-formulaire-id',

      'enableClientValidation'=>true,

     'clientOptions'=>array('validateOnSubmit'=>true,

                                        'validateOnType'=>false,

                                        'beforeValidate'=>js:function(){ ##ton code ici##}',

     ),

));

j’espère que ça va t’aider

a peluche.

…suite je viens de découvrir une classe CHtml sympathique

regarde du côté de cette classe avec par exemple

CHtml::submitButton et ses propriétes ‘htmlOptions’ avec des

ça donne




<?php echo CHtml::submitButton('ok' ,

'options' =>array(


	'change'=>'js:function(){alert("cool! c\'est changé!");}'

			),

); ?>




après je découvre comme toi et je n’ai pas d’exemple à te donner d’ailleurs le problème sur Yii c’est qu’il faut apprendre sur le tas car il y a très peu d’exemples dans la doc officielle.

c’est galère.

bon courage