Jump to content
  • 0

Не получается простой пример


DkS
 Share

Question

В самоучителе проходил вот такое вот решение. Вывод вписанного текста во всплывающее окно JS при нажатии на кнопку:


<!DOCTYPE HTML>
<html>
<head>
<meta charset="utf-8">
<title>Тег INPUT, атрибут name</title>
<script>
function dataField(f) {
alert("Вы ввели: " + f.comment.value);
}
</script>
</head>
<body>
<form action="handler.php">
<p><b>Введите текст</b></p>
<p><input type="text" name="comment">
<input type="button" value="ОК" onclick="dataField(this.form)"></p>
</form>
</body>
</html>

Захотел сделать тоже самое не для <input type="text">, а для <input type="radio". Чтобы значение выбранного варианта выводилось всплывающим окном JS. Вроде простенько, но в окне вылазит "undefined", какие только преобразования не делал.


<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Тег fieldset, атрибут form</title>
<script>
function dataField(f) {
alert("Вы ввели: " + f.comment.value);
}
</script>
</head>
<body>
<form action="handler.php">
<p>В каком году произошла Отечественная война 1812 года?</p>
<p><input type="radio" name="comment" value="1380"> 1380</p>
<p><input type="radio" name="comment" value="1812" checked> 1812</p>
<p><input type="radio" name="comment" value="1914"> 1914</p>
<p><input type="radio" name="comment" value="1941"> 1941</p>
<p><input type="button" value="ОК" onclick="dataField(this.form)"></p>
</form>
</body>
</html>

Помогите пожалуйста найти решение без всяких сложных скриптов, чтобы наподобие того, что в самоучителе... А то пока не узнаю, не усну=))

Link to comment
Share on other sites

2 answers to this question

Recommended Posts

  • 0

у вас получается 4 элемента comment и вам нужно будет их все проверить на наличие checked

через jquery будет попроще

вот скопипастил варианты

На Javascript:

var radios = document.getElementsByTagName('input');
var value;
for (var i = 0; i < radios.length; i++) {
if (radios[i].type === 'radio' && radios[i].checked && radios[i].name === 'radioName') {
//
value = radios[i].value;
}
}

С применением jQuery:

$('input[name="radioName"]:checked').val();

С применением Prototype:

$$('input[type=radio]:checked').val()

Edited by Switch74
Link to comment
Share on other sites

  • 0

Спасибо!

С JS получилось:


<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Всплывающее окно JS с radio</title>
<script>
function dataField(f) {
var radios = document.getElementsByTagName('input');
var value;
for (var i = 0; i < radios.length; i++) {
if (radios[i].type === 'radio' && radios[i].checked)
{ //
value = radios[i].value; }
}
alert("Вы ввели: " + value);
}
</script>
</head>
<body>
<form action="handler.php">
<p>В каком году произошла Отечественная война 1812 года?</p>
<p><input type="radio" name="comment" value="1380"> 1380</p>
<p><input type="radio" name="comment" value="1812" checked> 1812</p>
<p><input type="radio" name="comment" value="1914"> 1914</p>
<p><input type="radio" name="comment" value="1941"> 1941</p>
<p><input type="button" value="ОК" onclick="dataField(this.form)"></p>
</form>
</body>
</html>

А с jQuery у меня не получается((

Edited by DkS
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. See more about our Guidelines and Privacy Policy