Estoy basando mi pregunta y el ejemplo de la respuesta de Jason en this preguntallamando Javascript a partir de un formulario HTML
que estoy tratando de evitar el uso de un eventListner, y sólo para llamar handleClick onsubmit, cuando se hace clic en el botón de envío.
Absolutamente no ocurre nada con el código que tengo.
¿Por qué no se llama a handleClick?
<html>
<head>
<script type="text/javascript">
function getRadioButtonValue(rbutton)
{
for (var i = 0; i < rbutton.length; ++i)
{
if (rbutton[i].checked)
return rbutton[i].value;
}
return null;
}
function handleClick(event)
{
alert("Favorite weird creature: "+getRadioButtonValue(this["whichThing"]));
event.preventDefault(); // disable normal form submit behavior
return false; // prevent further bubbling of event
}
</script>
</head>
<body>
<form name="myform" onSubmit="JavaScript:handleClick()">
<input name="Submit" type="submit" value="Update" onClick="JavaScript:handleClick()"/>
Which of the following do you like best?
<p><input type="radio" name="whichThing" value="slithy toves" />Slithy toves</p>
<p><input type="radio" name="whichThing" value="borogoves" />Borogoves</p>
<p><input type="radio" name="whichThing" value="mome raths" />Mome raths</p>
</form>
</body>
</html>
edición:
Por favor, no sugieren un marco como una solución.
Aquí están los cambios relevantes que he realizado en el código, que da como resultado el mismo comportamiento.
function handleClick()
{
alert("Favorite weird creature: "+getRadioButtonValue(document.myform['whichThing'])));
event.preventDefault(); // disable normal form submit behavior
return false; // prevent further bubbling of event
}
</script>
</head>
<body>
<form name="aye">;
<input name="Submit" type="submit" value="Update" action="JavaScript:handleClick()"/>
Which of the following do you like best?
<p><input type="radio" name="whichThing" value="slithy toves" />Slithy toves</p>
<p><input type="radio" name="whichThing" value="borogoves" />Borogoves</p>
<p><input type="radio" name="whichThing" value="mome raths" />Mome raths</p>
</form>
ninguno de los métodos funcionaría en los navegadores modernos si no tiene el atributo 'sandbox =" allow-scripts "' para el elemento de formulario. http://www.w3schools.com/Tags/att_iframe_sandbox.asp –