2013-02-19 6 views
1

Я пытаюсь добавить функцию или дополнительный JavaScript к существующей функции для подтверждения. Мне понадобится окно подтверждения после нажатия кнопки «Отправить»: «Вы выбрали (GCSE, A2 или AS), это правильно?» Должна быть кнопка отмены, чтобы вернуться к форме или ОК, которая позволяет отправить форму.Подтверждение кнопки с помощью радио-радио

Вот код, я сделал небольшое исследование, и он сказал, используя цикл, я очень новичок в этом, поэтому я не знаю, что делать.

<head> 
<title>Exam entry</title> 
<script language="javascript" type="text/javascript"> 

function validateForm() { 
var result = true; 
var msg=""; 
if (document.ExamEntry.name.value=="") { 
msg+="You must enter your name \n"; 
document.ExamEntry.name.focus(); 
document.getElementById('name').style.color="red"; 
result = false; 
} 

if(msg==""){ 
return result; 
} 
{ 
alert(msg) 
return result; 
} 
} 

</script> 
</head> 
<body> 
<h1>Exam Entry Form</h1> 
<form name="ExamEntry" method="post" action="success.html"> 
<table width="50%" border="0"> 
<tr> 
<td id="name">Name</td> 
<td><input type="text" name="name" /></td> 
<tr> 
<td id="subject">Subject</td> 
<td><input type="text" name="subject" /></td> 
</tr> 
<tr> 
<td id="examnumber">Examination Number</td> 
<td><input type="text" name="examnumber" /></td> 
</tr> 
<tr> 
<td><input type="radio" id="examtype" name="examtype" /> : GCSE<br /> 
<td><input type="radio" id="examtype" name="examtype" /> : A2<br /> 
<td><input type="radio" id="examtype" name="examtype" /> : AS<br /> 
</tr> 
<tr> 
<td><input type="submit" name="Submit" value="Submit" onclick="return validateForm();" /> </td> 
<td><input type="reset" name="Reset" value="Reset" /></td> 
</tr> 
</table> 
</form> 
</body> 
+1

Этот код работает хорошо или дает ошибку, с какой проблемой вы сталкиваетесь, можете ли вы объяснить.? –

ответ

3

Установите значения ваших радиокнопок, как это:

<td><input type="radio" id="examtype" name="examtype" value="GCSE" /> : GCSE<br /> 
<td><input type="radio" id="examtype" name="examtype" value="A2" /> : A2<br /> 
<td><input type="radio" id="examtype" name="examtype" value="AS"/> : AS<br /> 

Затем используйте этот скрипт в функцию, чтобы подтвердить форму или сделать его функцию и вызвать его из функции validateForm:

var checked = null; 
var inputs = document.getElementsByName('examtype'); 
for (var i = 0; i < inputs.length; i++) { 
      if (inputs[i].checked) { 
      checked = inputs[i]; 
      break; 
    } 
} 
if(checked==null) 
{ 
    alert('Please choose an option'); 
    return false; 
} 
else{ 
    return confirm('You have chosen '+checked.value+' is this correct?'); 
} 
+0

нет, -> -1, ваше решение потребляет драгоценные циклы процессора. Вы должны «ломаться» из цикла 'for', как только вы найдете проверенную радиостанцию. – yeyo

+0

Благодарим за упоминание @Kira, обновили код, но одно. Когда у вас есть только 3-4 переключателя, это не о цикле процессора, а о всех соглашениях. – gaurav

+0

действительно. Благодарим вас за то, что вы обновили свой ответ. – yeyo

1
add this to your code# 

    function confirmation() { 

    for (var i=0; i < document.ExamEntry.examtype.length; i++) 
     { 
     if (document.ExamEntry.examtype[i].checked) 
      { 
      var answer = confirm(document.ExamEntry.examtype[i].value) 

     if (answer){ 
      document.ExamEntry.examtype[i].checked = true; 

     } 
     else{ 
      document.ExamEntry.examtype[i].checked = false; 

     } 
      } 
    } 

    } 

Затем добавьте к вам кнопку радиостанции

(value="a2") 
(value="a1") 
(value="G1") 

А также добавить к вашей кнопке радиостанции (OnClick = «подтверждению возврата();») не забудьте положить это все из вас радиокнопок Соза, если это не работает.

Смежные вопросы