получение переменных формы с помощью JavaScript

У меня есть следующий вид (эхо-сигнал через php), который при выборе переключателя, я хочу, чтобы это значение передавалось в функцию javascript, с которой я могу справиться.

<form id=\"form1\" name=\"form1\" method=\"\" action=\"JavaScript:alterRecord()\"> <input name=\"radiobutton\" type=\"radio\" value=\"test1\" />Test 2<p> <input name=\"radiobutton\" type=\"radio\" value=\"test2\" />Test 2<p> <input name=\"radiobutton\" type=\"radio\" value=\"test3\" />Test 3<p> <input name=\"radiobutton\" type=\"radio\" value=\"test4\" />Test 4 <input type=\"submit\" name=\"Submit\" value=\"Submit\" /> </form> 

И JavaScript

 function alterRecord(value) { alert(value); } 

Я не могу узнать, как получить javascript для получения представленной формы.

Если вы хотите что-то сделать в Javascript при отправке, но не имеете обычного запроса POST или GET (что приводит к выгрузке старой страницы и загрузке новой страницы), обязательно выполните следующее:

 <html> <head> <style type="text/css"> body { background-color: black; color: white; } </style> <script type="text/javascript"> function handleClick(event) { if (console) console.info("handling click"); // for Firebug debugging, if you want it /* do something here */ alert(this.textBox1.value); // I don't like alerts but it works everywhere if (console) console.info("handled click"); event.preventDefault(); // disable normal form submit behavior return false; // prevent further bubbling of event } function doit() { if (console) console.info("starting doit()"); document.forms.myform.addEventListener("submit", handleClick, true); return true; } </script> </head> <body onload="doit()"> <form name="myform"> <div> <textarea name="textBox1" rows="10" cols="80"> 'Twas brillig, and the slithy toves Did gyre and gimble in the wabe; All mimsy were the borogoves, And the mome raths outgrabe. </textarea> </div> <input type="submit" value="Update"/> </form> </body> </html> 

Строки event.preventDefault() и return false являются ключевыми. Мне также нравится использовать addEventListener вместо жесткого кодирования onSubmit в форме. Я думаю, это вопрос стиля / предпочтения. (хотя addEventListener позволяет вам иметь несколько обработчиков).

С головы:

 <form onSubmit="alterRecord"> <input type="radio" id="radio1"/> ... </form> function alterRecord() { var radio1 = document.getElementById('radio1'); alert(radio1.checked); } 

Вы хотите, чтобы javascript срабатывал при нажатии переключателя? Или когда форма отправлена?

Как уже упоминалось, вы можете использовать onsubmit = "alterRecord (this);" Затем вы можете использовать такие команды, как

 alert(this.radio1.checked); 

если вы добавите идентификаторы ко всем переключателям.

А для запуска javascript каждый раз, когда нажимается переключатель

 <input type="radio" onclick="alterRecord(this);" ... /> 

Затем команда «this» позволит вам получить доступ к щелчку переключателя.

Атрибут действия должен указывать на URL-адрес. Если вы хотите что-то сделать в javascript, когда пользователь отправляет форму, используйте атрибут onsubmit. Например, onsubmit = "alert (42)".

Если вы вызываете javascript-метод из атрибута onsubmit и передаете его «это» в качестве аргумента, вы получите доступ к тегу формы и всем его дочерним узлам и сможете определять текущее состояние различных элементов управления по своему усмотрению.

Сначала начните использовать jQuery .

Теперь, когда у вас это получилось, прочитайте документы, и должно быть достаточно легко сделать что-то вроде этого:

 $("input[name='radiobutton']").click(function() { // do stuff });