2014-03-12 119 views
0

下面是一个包含我的代码小提琴 - http://jsfiddle.net/jamiepollard28/sDLV4/8/复位单选按钮

我试图让我的代码仅重置单选按钮,当用户点击验证为单选按钮的警告框取消。

当您点击包含所需数据的子菜单并且选中单选按钮时,警告框会出现,确认或拒绝选择,当我单击该警报框上的取消时,我希望重置单选按钮选择。

以下是我的代码。

<html> 
<head> 
<title>Exam entry</title> 
<script language="javascript" type="text/javascript"> 
window.onload=function(){ 
window.validateForm=function() { 
    var result = true; 
    var msg = ""; 
    var focusname=""; 
    if (document.ExamEntry.name.value == "") { 
     msg += "You must enter your name \n"; 
     focusname="name"; 
     //document.ExamEntry.name.focus(); 
     document.getElementById('name1').style.color = "red"; 
     //result = false; 
    } 
    if (document.ExamEntry.subject.value == "") { 
     msg += "You must enter the subject \n"; 
     // document.ExamEntry.subject.focus(); 
     if (focusname=="") 
     { 
     focusname="subject"; 
     } 
     document.getElementById('subject1').style.color = "red"; 
     //result = false; 
    } 
    var Number = document.ExamEntry.Exam_Number.value 
    if (Number == "") { 
     msg += "You must enter the exam Number \n"; 
     //document.ExamEntry.Exam_Number.focus(); 
     if (focusname=="") 
     { 
     focusname="Exam_Number"; 
     } 
     document.getElementById('Exam_Number1').style.color = "red"; 
     //result = false; 
    }else if (Number.length != 4) { 
     msg += "You must enter at least Four Numbers in the Exam Number \n"; 
     if (focusname=="") 
     { 
     focusname="Exam_Number"; 
     } 
     //document.ExamEntry.Exam_Number.focus(); 
     document.getElementById('Exam_Number1').style.color = "red"; 
     //result = false; 
    } 
else if (isNaN(Number)) { 
     msg += "You must enter at least four numeric characters in the Exam Number feild \n"; 
    if (focusname=="") 
     { 
     focusname="Exam_Number"; 
     } 
    // document.ExamEntry.Exam_Number.focus(); 
     document.getElementById('Exam_Number1').style.color = "red"; 
     //result = false; 
    } 
    var valchecked = ''; 
    var len = document.getElementsByName('examtype').length; 

    for (i = 0; i < len; i++) { 

if (document.ExamEntry.examtype[i].checked) { 

valchecked = document.ExamEntry.examtype[i].value; 
break; 

} 

} 
    if (valchecked == '') { 
     msg += "Select Exam Type"; 
     document.getElementById('Exam_Type').style.color = "red"; 
     if (focusname=="") 
     { 
     focusname="examtype_GCSE"; 
     } 

    } 

    if (msg != ""){ 
     alert(msg) 
     document.getElementById(focusname).focus(); 
     return false; 
    }else{ 
     return confirm('You have chosen ' + valchecked + ' is this correct?'); 
    } 

} 
}//]]> 

</script> 


</head> 
<body> 
    <h1>Exam Entry Form</h1> 
<form name="ExamEntry" method="post" action="success.html"> 
<table width="50%" border="0"> 
<tr> 
<td id="name1">Name</td> 
<td><input type="text" name="name" id="name" /></td> 
</tr> 
<tr> 
<td id="subject1">Subject</td> 
<td><input type="text" name="subject" id="subject"/></td> 
</tr> 
<tr> 
<td id="Exam_Number1">Exam Number</td> 
<td><input type="text" name="Exam_Number" id="Exam_Number" ><font size="3">(Maximum characters: 4)</font> </td> 
</tr> 
<tr> 

<table><form action=""> 
<td id="Exam_Type">Exam Type</td> 
<tr><td><input type="radio" id="examtype_GCSE" name="examtype" value="GCSE" /> : GCSE<br /></tr> 
<tr><td><input type="radio" id="examtype_AS" name="examtype" value="AS"/> : AS<br /></tr> 
<tr><td><input type="radio" id="examtype_A2" name="examtype" value="A2" /> : A2<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> 


</html> 
+0

的http:// stacko verflow.com/questions/16099190/reset-radio-button-using-jquery?rq=1 - 如果你不介意用jQuery来做,可能会有所帮助:)' – cepradeep

回答

1

你只是返回用户的选择,你需要先检查一下,如果这是真的,则返回true表单提交其他复位电台和返回false,如下所示:FIDDLE

var ch= confirm('You have chosen ' + valchecked + ' is this correct?'); 
    if(!ch){ 
     document.getElementById('examtype_'+valchecked).checked= false; 
     return false; } 
    else 
     return true; 
    } 
+0

@Jamie会很好,如果你接受答案如果它解决了这个问题.. –

0

随着如果一个循环就可以解决问题

试试下面的代码

if(confirm('You have chosen ' + valchecked + ' is this correct?')){ 
      return true; 
     } 
     else{   
      document.getElementById('examtype_'+valchecked).checked= false;   
      return false; 
     }