2014-05-07 55 views
1

所以我正在做一個HTML和JavaScript相關的任務,我不需要對這些腳本和編程語言有任何先前的知識。我被要求出示文件,說明如何HTML和JavaScript帶來了報名表,和JavaScript如何驗證檢查等新手:需要Js函數的解釋

<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> 

還有的地方,我需要爲不同級別的條目3個附加單選按鈕的任務,那麼我需要創建一個確認檢查的函數,要求用戶在選擇特定級別條目後確認或取消選擇。由於我沒有任何編程知識(或者在我的任務過程中學到了一點東西),所以我不知道如何創建一個函數。因此,我用Google搜索了一下,發現這個page(這是者均基於相同的分配),從我從這個頁面知道,我需要改變的單選按鈕進入:

<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 /> 

和實現的功能,例如:

function confirmation() { 
    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?'); 
    } 

現在我已經完成了它所說的,現在有一個警告框彈出並確認與用戶選擇單選按鈕,因此單擊單選按鈕將觸發返回該功能的onclick事件。現在我的問題是這個函數怎麼做確認檢查? (我很抱歉,如果我寫的太多了,我以前的帖子由於人數太多而擱置太多,因爲我沒有足夠清楚我想說的話。)

+3

格式化你的代碼,並創建一個小提琴走一段很長的路要走。 –

+0

OP將在JSFiddle的'onClick'屬性中使用命名函數時遇到輕微障礙,默認設置未設置爲以這種方式工作:http://stackoverflow.com/questions/9114747/onclick -event-not-firing-on-jsfiddle-net只是一個人擡頭:) –

回答

0

只需添加result &= confirmation();在您的驗證碼。你的兩個if語句之間的一些地方。

0

您需要觀看點擊事件,並確定您是否希望允許的操作:

$(document).ready(function() { 
    $('input[type="radio"]').on('click', function() { 
     var r = confirm("Are you sure?"); 
     if (r == true) { 
      $(this).prop('checked', true); 
     } else { 
      $(this).prop('checked', false); 
     } 
    }); 
}); 

http://jsfiddle.net/LTQ9p/1/

+0

當你建議使用像_jQuery_這樣的庫並且這個庫在OP的問題中沒有被提及時,那麼你應該告訴那個和你哪個庫正在使用。 –