2012-01-16 19 views
1

チェックボックスをオンにしていない場合にユーザーに警告し、フォームに戻る 少なくとも1つのチェックボックスをオンにした後、次のページに進んでください どうすればいいですか?チェックボックスのチェック方法がチェックされていません

<input type="checkbox" name="pay[]" value=" 
    <?php 
    echo $DateArr[$record_count].";"; 
    echo $invoiceArr[$record_count].";"; 
    echo $TotalArr[$record_count].";"; 
    echo $amount_dueArr[$record_count]; 
    ?> 
    " onClick="checkTotal()"/> 

<td ALIGN="right" ><input type="submit" name="submit" value="Continue" onMouseOver="CheckBoxStatus()"></td> 

のjavascript:

function CheckBoxStatus() 
         { 

         var checkbox_status = document.getElementsByName("pay[]").value;        
          if (checkbox_status = ";;;") 
          { 
           alert("Please select at least one to proceed!"); 
           return false; 
          } 
          else 
          { 
           alert("Continue!"); 
           return true; 
          } 


         } 

ユーザーがチェックされていない場合は、少なくとも一つのチェックボックス、メッセージを警告し、その後

<form name="payform" method="POST" action="payment.php" onSubmit=" CheckBoxStatus()"> 

どのように形成するために戻りますユーザーがチェックボックスをチェックしていない場合、フォームに留まることはできますか?

は、このようなことがある:

function CheckBoxStatus() 
          { 
           if (document.getElementsByName("pay[]").checked == true) 
           { 
            document.forms["payform"].submit(); 
            return true; 
           } 
           else 
           { 
            alert("Please select at least one invoice to proceed!"); 
            document.forms["payform"].reset(); 
            return false; 

           } 
          } 

私はこのように行うことができます。 `

function CheckBoxStatus() 
          { 
          var status=$("pay[]").attr('checked'); 

          if (status=true) 
          { 
          //if(document.getElementsByName("pay[]").checked) { 
           return true; 
          } 
          else { 
           alert("Please select at least one to proceed!"); 
           return false; 
          } 


          }` 
+0

チェックボックスが常にJSの値を持つことになり、あなたがそれを生成している方法。チェックボックスの '.checked'属性(true/false)をチェックしたいとします。 –

+0

if checkbox.value = ";;;" =偽ですか? –

+0

番号。 'if(checkbox.checked == false){...チェックされていません...}' –

答えて

0

jQueryの

var $checked = $("input:checked"); 
if($checked.length == 0) { 
    alert("Please select at least one to proceed!"); 
} 
+0

? –

+0

どこにその機能を置くべきですか? CheckBoxStatus()? –

+0

jQueryは、これをすべて使用する場合は必要ありません。 – Jivings

0

でHTMLは混乱のビットであること。いくつかのもの...

  1. ボタンを含む<td>タグを取り除いてください。それは目的があるように見えません。
  2. JavaScriptを呼び出すには、onsubmitではなくonMouseOverを使用する必要があります。
  3. このチェックボックスがオンになっているかどうかをチェックするには、機能を次のように変更します。

    function checkBoxStatus { 
        if(document.getElementsByName("pay[]").checked) { 
         return true; 
        } 
        else { 
         alert("Please select at least one to proceed!"); 
         return false; 
        } 
    } 
    

EDIT。アラートを忘れた場合

+0

この関数はどこで呼び出すべきですか?ボタンやフォームに?

+0

フォームまたは送信ボタンのいずれか。あなたはすでにフォーム上に 'onsubmit'を持っているので、それらを組み合わせるでしょうか? – Jivings

+0

falseを返すと、なぜ次のページに続くのですか? –

0
  1. jqueryが含まれているかどうかを確認してください。 :|
  2. これを試してみてください:

    <input id="ipay" type="checkbox" name="pay[]" value=" 
    <?php 
    echo $DateArr[$record_count].";"; 
    echo $invoiceArr[$record_count].";"; 
    echo $TotalArr[$record_count].";"; 
    echo $amount_dueArr[$record_count]; 
    ?>" 
    /> 
    
    <td ALIGN="right" ><input type="submit" name="submit" value="Continue"></td> 
    <form id="pform" name="payform" method="POST" action="payment.php"> 
    

Javascriptを:

$(document).ready(function() { 
      $('#pform').submit(function(e) { 
        var paycheck = $('#ipay').attr('checked'); 
        if(paycheck != true or paycheck != 'checked') { 
          alert('Please check at least one option.'); 
          e.preventDefault(); 
        } 
      }); 
    }); 
0

あなたはこのような何か行うことができます。

<html> 
    <head> 
     <title>Verify Checkbox</title> 
     <script type="text/javascript"> 
      function verifyCheckboxSelected(form) { 
       var theForm = document.forms[form]; 
       var valid = false; 

       for(var i=0; i < theForm.length; i++) { 
        if(theForm.elements[i].checked) { 
         valid = true; 
        } 
       } 

       if (!valid) { 
        alert('You must select at least one checkbox') 
        return false; 
       } 
      } 
     </script> 
    </head> 
    <body> 
     <form name="myForm" onSubmit="return verifyCheckboxSelected(this.name)"> 
      <input type="checkbox" name="myCheckBoxes[]"/>Checkbox A</br> 
      <input type="checkbox" name="myCheckBoxes[]"/>Checkbox B</br> 
      <input type="checkbox" name="myCheckBoxes[]"/>Checkbox C</br> 
      <input type="submit" value="submit" /> 
     </form> 
    </body> 
</html> 
関連する問題