2008-12-02 11 views
9

Aquí hay un fragmento de código. . .usando "onclick" con el botón de opción en 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> 

Claramente, lo que estoy tratando de hacer es llamar a la rutina vinculado a/aceptar cuando el usuario hace clic en el botón de radio.

Sé que la rutina funciona porque llamo a la misma rutina desde otro lugar en el programa.

Estoy tratando de ejecutarlo localmente usando google appserver. ¿Se me escapa algo?

Gracias

Respuesta

2

Su evento de clic está esperando algún código javascript:

onclick="SomeJavaScriptCode" 

Más aquí: http://www.w3schools.com/jsref/jsref_onClick.asp

Por lo tanto, usted debe hacer algo como esto:

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

EDITAR: parece que quieres ir a una URL cuando el usuario hace clic ks ya sea "sí" o "no". Para hacer eso, puede intentar este poco de código javascript:

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

Ahora, si usted quiere enviar el formulario automáticamente cuando el usuario hace clic en "sí" o "no", entonces haga lo que sugiere Benry:

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

Espero que esto ayude.

+0

¿dónde defines esa función? incluso si digo tonterías, no produce un error. Es como si nunca se llamara. ¿hay alguna manera de hacer que un onclick llame a un script cgi? No estoy usando javascript para esto. – Baltimark

1

Probablemente esté pensando en acción = para el elemento de formulario. onClick simplemente lanzaría una función de JavaScript.

12

Si desea enviar el formulario completo cuando el usuario hace clic en un botón de opción, a continuación, intente esto:

<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> 

Además, si usted desea hacer su interfaz de usuario un poco más fácil de usar, cambiarlo a esto:

<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> 

esto hará que el texto "Sí" y "No" como etiquetas con un clic para los botones de radio. El usuario puede hacer clic en la etiqueta para seleccionar el botón de opción.

Cuestiones relacionadas