php
  • javascript
  • mysql
  • validation
  • 2012-09-27 89 views 0 likes 
    0

    這是含有單選按鈕形式PHP文件的代碼:使用MySQL查詢與單選按鈕的PHP的形式JavaScript驗證問題

    <?php 
        while($r7 = mysql_fetch_array($rt3)){ 
         $name=$r7["name"]; 
         $s=$r7["question"]; 
    
         echo " 
         <div>$s</div> 
    
         <form name='Tester' method='post' onSubmit='return RegValidate(this);' action='quest.php' > 
         <input type='radio' name='w1' value='1'>1<br> 
         <input type='radio' name='w1' value='2'>2<br> 
         <input type='radio' name='w1' value='3'>3<br> 
    
    
    
         "; 
         } 
         echo" <input name='Submit' value='Tester' type='submit' /> 
         </form>"; 
    
    ?> 
    

    的$ name和$ q爲從數據庫中導出。這工作正常。 我用下面的JavaScript代碼至今:

    function RegValidate(Tester) 
    { 
    
    if($('#w1').not(':checked')) 
    { 
        alert('Radio not checked'); 
        return false; 
    } 
    
    } 
    

    但有了這個代碼,我不斷收到錯誤消息,我不能夠,即使我選擇了一個單選按鈕繼續。

    while循環產生幾組單選按鈕,如$ q,從數據庫中獲取問題並將其與3個單選按鈕一起發佈到頁面上。每個問題$ q,在上面有3個單選按鈕,因此是$ name的原因。

    如何使用javascript驗證此表單。 NB。該表格將只包含單選按鈕。

    回答

    0
    function RegValidate(Tester) { 
        if ($(":radio[name=w1]:checked").toArray().length == 0) { 
         alert('nothing selected'); 
         return false; 
        } 
    }​ 
    

    FIDDLE

    +0

    謝謝,這工作得很好。 – user1704514

    0

    你有一個錯誤,你的投入沒有ID或類,所以添加到所有輸入無線電class='w1'和嘗試下面的代碼:

    if ($(".w1 option:selected").length<1) 
        alert ('nothing selected'); 
    

    也看看這個帖子:Check if option is selected with jQuery, if not select a default

    +0

    同樣的事情不斷髮生。即使我選擇一個按鈕,我仍然收到錯誤消息。這是因爲它是在一個PHP while循環? – user1704514

    +1

    PHP是服務器端,這個檢查是客戶端。 – Barmar

    0

    做這些事情:

     <input type='radio' class='w1' name='w1' value='1'>1<br> 
         <input type='radio' class='w1' name='w1' value='2'>2<br> 
         <input type='radio' class='w1' name='w1' value='3'>3<br> 
    

    而且在JS:

    最新編輯:

    if ($(':radio[class=w1]').attr('checked') != 'checked') { 
        alert('Radio not checked'); 
    
    } 
    
    +0

    我很抱歉,但這似乎並沒有解決它。我認爲這可能是因爲表單在php while循環中。我真的不知道如何解決這個問題。 – user1704514

    +0

    在我的回答中編輯js代碼,試試。 –

    +0

    這仍然給出同樣的問題。儘管我已經選擇了錯誤消息,但仍然會出現。 while循環產生多組單選按鈕,如$ q,從數據庫中獲取問題並將其與3個單選按鈕一起發佈到頁面上。 – user1704514

    相關問題