2008-12-02 13 views
9

Voici un extrait de code. . .en utilisant "onclick" avec le bouton radio dans appengine

<form name="FinalAccept" method="get"><br> 

<input type="radio" name="YesNo" value="Yes" onclick="/accept"> Yes<br> 

<input type="radio" name="YesNo" value="No" onclick="/accept"> No<br> 

De toute évidence, ce que je suis en train de faire est d'appeler la routine liée à/accepter lorsque l'utilisateur clique sur le bouton radio.

Je sais que la routine fonctionne parce que j'appelle la même routine d'un autre endroit du programme. J'essaie de l'exécuter localement en utilisant google appserver. Y a-t-il quelque chose qui me manque?

Merci

Répondre

2

Votre événement onclick attend du code javascript:

onclick="SomeJavaScriptCode" 

Plus ici: http://www.w3schools.com/jsref/jsref_onClick.asp

Alors, vous devriez faire quelque chose comme ceci:

onClick="myfunction('my value');" 

EDIT: On dirait que vous voulez aller à une URL lorsque l'utilisateur clique ks soit "oui" ou "non". Pour ce faire, vous pouvez essayer ce petit peu de code javascript:

onClick="location.href='http://www.example.com/accept';" 
onClick="location.href='http://www.example.com/decline';" 

Maintenant, si vous voulez soumettre le formulaire automatiquement lorsque l'utilisateur clique sur « oui » ou « non », puis faire ce qui suggère Benry:

onClick="this.form.submit();" 

Espérons que cela aide.

+0

Où définissez-vous cette fonction? même si je mets un non-sens, cela ne produit pas d'erreur. C'est comme si on ne l'appelait jamais. Y at-il un moyen de faire un onclick appeler un script CGI? Je n'utilise pas javascript pour cela. – Baltimark

1

Vous pensez probablement à action = pour l'élément de formulaire. onClick ne ferait que déclencher une fonction javascript.

12

Si vous voulez soumettre le formulaire en entier lorsque l'utilisateur clique sur un bouton radio, essayez ceci:

<form name="FinalAccept" method="get" action="accept"><br> 
<input type="radio" name="YesNo" value="Yes" onclick="this.form.submit();"> Yes<br> 
<input type="radio" name="YesNo" value="No" onclick="this.form.submit();"> No<br> 
</form> 

De plus, si vous voulez faire de votre interface utilisateur un peu plus facile à utiliser, changer pour ceci:

<form name="FinalAccept" method="get" action="accept"><br> 
<input id="rYes" type="radio" name="YesNo" value="Yes" onclick="this.form.submit();"> 
<label for="rYes">Yes</label><br> 
<input id="rNo" type="radio" name="YesNo" value="No" onclick="this.form.submit();"> 
<label for="rNo">No</label><br> 
</form> 

Cela fera du texte "Oui" et "Non" des étiquettes cliquables pour leurs boutons radio. L'utilisateur peut cliquer sur l'étiquette pour sélectionner le bouton radio.