2013-05-14 47 views
1

我想在php中顯示所有選中的複選框。我想顯示所有選中的複選框值

<script> 
    function RequestObject() 
    { 
     var ReturnValue = null; 
     try { 
      ReturnValue = new ActiveXObject("Microsoft.XMLHTTP"); 
     } 
     catch (Error) { 
      try { 
       ReturnValue = new ActiveXObject("MSXML2.HTTP"); 
      } 
      catch (Error) { 
       try { 
        ReturnValue = new XMLHttpRequest(); 
       } 
       catch (Error) { 
        // failed 
        return null; 
       } 
      } 
     } 
     return ReturnValue; 
    } 
    var requestObj = null;   
    function coajax(sender) 
    { 
     requestObj = RequestObject(); 
     if (requestObj) 
     { 
      sender.enabled = false; // so a user cannot change till request finished 
      requestObj.open('get', '<?php echo get_template_directory_uri(); ?>/lunch_dinner.php?lid=' + sender.value, true); 
      requestObj.onreadystatechange = coajax_finish; 
      requestObj.send(null); 
     } 
    } 
    function coajax_finish() 
    { 
     if (requestObj.readyState == 4) 
     { 
      document.getElementById('ldb_target').innerHTML = requestObj.responseText; 
      document.getElementById('ldb').enabled = true; 
     } 
    } 
    function getDays(select){ 
     var selectedString = select.options[select.selectedIndex].value; 
     if(selectedString == "Bespoke Days"){ 
      document.getElementById("days_target").style.display = "block"; 
     } 
     else { 
      document.getElementById("days_target").style.display = "none"; 
     } 
    } 
    function validateForm() 
    { 
     var x=document.forms["form1"]["contract"].value; 
     if (x==null || x=="" || x=="Select Contract") 
     { 
      alert("Oh, you forgot to select contract type! :)"); 
      return false; 
     } 
     var x=document.forms["form1"]["days"].selectedIndex; 
     if (x<1) 
     { 
      alert("Please select days"); 
      return false; 
     } 
     else if(x==4) { // fifth entry 
      var checked = false, 
      chk = document.forms["form1"]["day"]; 
      for (var i = 0; i < chk.length; i++) 
      { 
       if (chk[i].checked) { checked=true; break } 
      } 
      if (!checked) { 
       alert("At least one day should be checked."); 
       return false; 
      } 
     } 
     var x=document.forms["form1"]["ldb"].value; 
     if (x==null || x=="" || x=="Select") 
     { 
      alert("Oh, you forgot to select lunch-dinner! :)"); 
      return false; 
     } 
     var x=document.forms["form1"]["ldb"].value; 
     if(x=="Lunch" || x=="Both") 
     { 
      var y=document.forms["form1"]["lunch"].value; 
      if(y=="Lunch") 
      { 
       alert("Oh, you forgot to select lunch time! :)"); 
       return false; 
      } 
     } 
     var x=document.forms["form1"]["ldb"].value; 
     if(x=="Dinner" || x=="Both") 
     { 
      var y=document.forms["form1"]["dinner"].value; 
      if(y=="Dinner") 
      { 
       alert("Oh, you forgot to select dinner time! :)"); 
       return false; 
      } 
     } 
     var x=document.forms["form1"]["phone"].value; 
     if (x==null || x=="") 
     { 
      alert("Oh, you forgot to enter your Phone Number! :)"); 
      return false; 
     } 
     var x = document.form1.phone.value; 
     if(isNaN(x)||x.indexOf(" ")!=-1) 
     { 
      alert("Please enter Numaric value in contact number.") 
      return false; 
     } 
     var x=document.forms["form1"]["meal"].value; 
     if (x==null || x=="" || x=="Select Meal") 
     { 
      alert("Oh, you forgot to select meal preference! :)"); 
      return false; 
     } 
     var x=document.forms["form1"]["fnm"].value; 
     if (x==null || x=="") 
     { 
      alert("Oh, you forgot to enter your Full Name! :)"); 
      return false; 
     } 
     var x=document.forms["form1"]["pcod"].value; 
     if (x==null || x=="") 
     { 
      alert("Oh, you forgot to enter your Postal Code! :)"); 
      return false; 
     } 
     var x=document.forms["form1"]["email"].value; 
     if (x==null || x=="") 
     { 
      alert("Oh, you forgot to enter your Email Address! :)"); 
      return false; 
     } 
     var x=document.forms["form1"]["email"].value; 
     var atpos=x.indexOf("@"); 
     var dotpos=x.lastIndexOf("."); 
     if (atpos<1 || dotpos<atpos+2 || dotpos+2>=x.length) 
     { 
      alert("Excuse me! Valid Email Address Please!"); 
      return false; 
     } 
     var x=document.forms["form1"]["add"].value; 
     if (x==null || x=="") 
     { 
      alert("Oh, you forgot to enter your Address! :)"); 
      return false; 
     } 
     var x=document.forms["form1"]["rate"].value; 
     if (x==null || x=="") 
     { 
      alert("Oh, you forgot to enter Rate! :)"); 
      return false; 
     } 
     var x=document.forms["form1"]["rate"].value; 
     if(isNaN(x)||x.indexOf(" ")!=-1) 
     { 
      alert("Please enter Numaric value in Rate.") 
      return false; 
     } 
     var x=document.forms["form1"]["amount"].value; 
     if (x==null || x=="") 
     { 
      alert("Oh, you forgot to enter Amount! :)"); 
      return false; 
     } 
     var x=document.forms["form1"]["amount"].value; 
     if(isNaN(x)||x.indexOf(" ")!=-1) 
     { 
      alert("Please enter Numaric value in Total Amount.") 
      return false; 
     } 
    } 
    function calculateTotal(rate) 
    { 
     var rate=(document.forms["form1"]["rate"].value) * 1.03; 
     document.forms["form1"]["amount"].value = rate; 
    } 
</script> 

HTML:

<form method="POST" action="" name="form1" onsubmit="return validateForm();"> 
    <table class="order-paypal" width="100%"> 
     <tr> 
      <td><span>Choose contract</span></td> 
      <td> 
       <select name="contract"> 
        <option value="Select Contract" selected>Select Contract</option> 
        <option value="7 meal veg contract">7 meal veg contract</option> 
        <option value="7 meal nonveg contract">7 meal nonveg contract</option> 
        <option value="7 meal nonveg contract">7 meal nonveg contract</option> 
        <option value="8 meal veg contract">8 meal veg contract</option> 
        <option value="8 meal nonveg contract">8 meal nonveg contract</option> 
        <option value="8 meal mix contract">8 meal mix contract</option> 
        <option value="9 meal veg contract">9 meal veg contract</option> 
        <option value="9 meal nonveg contract ">9 meal nonveg contract </option> 
        <option value="9 meal mix contract ">9 meal mix contract </option> 
        <option value="30 meal veg contract">30 meal veg contract</option> 
        <option value="30 meal nonveg contract">30 meal nonveg contract</option> 
        <option value="30 meal mix contract">30 meal mix contract</option> 
        <option value="Book-a-cook service">Book-a-cook service</option> 
        <option value="Extra roti/rice/dal/vegetable">Extra roti/rice/dal/vegetable</option> 
       </select> 
      </td> 
     </tr> 
     <tr> 
      <td><span>Please enter days required</span></td> 
      <td> 
       <select name="days" id="days" onchange="getDays(this)"> 
        <option value="Select Days" selected>Select Days</option> 
        <option value="Mon-Fri">Mon-Fri</option> 
        <option value="Mon-Sat">Mon-Sat</option> 
        <option value="Mon-Sun">Mon-Sun</option> 
        <option value="Bespoke Days">Bespoke Days</option> 
       </select> 

       <ul id="days_target" style="display:none;"> 
        <span>Select Days</span> 
        <li><input type="checkbox" name="day[]" value="mon"/>Monday</li> 
        <li><input type="checkbox" name="day[]" value="tue"/>Tueday</li> 
        <li><input type="checkbox" name="day[]" value="wed"/>Wednesday</li> 
        <li><input type="checkbox" name="day[]" value="thr"/>Thursday</li> 
        <li><input type="checkbox" name="day[]" value="fri"/>Friday</li> 
        <li><input type="checkbox" name="day[]" value="sat"/>Saturday</li> 
        <li><input type="checkbox" name="day[]" value="sun"/>Sunday</li> 
       </ul> 
      </td> 
     </tr>  
     <tr> 
      <td><span>Please mention Lunch or Dinner or both</span></td> 
      <td> 
       <select name="ldb" id="ldb" onchange="coajax(this);" > 
        <option value="Select" selected>Select</option> 
        <option value="Lunch">Lunch</option> 
        <option value="Dinner">Dinner</option> 
        <option value="Both">Both</option> 
       </select> 
       <span id="ldb_target"></span><br/> 
      </td> 
     </tr> 
     <tr> 
      <td><span>Please mention your contact number</span></td> 
      <td><input type="text" name="phone" /></td> 
     </tr> 
     <tr> 
      <td><span>Please mention your meal preference</span></td> 
      <td> 
       <select name="meal" > 
        <option value="Select Meal" selected>Select Meal</option> 
        <option value="Punjabi">Punjabi</option> 
        <option value="Gujarati">Gujarati</option> 
       </select> 
      </td> 
     </tr> 
     <tr> 
      <td style="vertical-align:top;"><span>Please mention any dietary requirements</span></td> 
      <td><input type="text" name="req" ></td> 
     </tr> 
     <tr> 
      <td><span>Full name</span></td> 
      <td><input type="text" name="fnm" ></td> 
     </tr> 
     <tr> 
      <td><span>Address</span></td> 
      <td><textarea name="add" ></textarea></td> 
     </tr>  
     <tr> 
      <td><span>Postal code</span></td> 
      <td><input type="text" name="pcod" ></td> 
     </tr>   
     <tr> 
      <td><span>Email</span></td> 
      <td><input type="text" name="email" ></td> 
     </tr>    
     <tr> 
      <td><span>Enter amount to pay</span></td> 
      <td> 
       <input type="text" name="rate" > 
       <br /> 
       (<a target="_blank" href="http://www.infozzle.com/yatin/tifffin_planet/prices-and-offers-2/">Check the rate of your item and your zone</a>) 
       <br/> 
       Card charge: 3% of the total amount 
      </td> 
     </tr> 
     <tr> 
      <td><span>Total Amount</span></td> 
      <td><input type="text" name="amount" value="Click here to see total amount" onclick="calculateTotal(this);"></td> 
     </tr> 
     <tr> 
      <td>&nbsp;</td> 
      <td> 
       <table class="submit"> 
        <tr> 
         <td><input type="submit" value="Submit" name="submitbtn" class="submit-payment"/></td> 
         <td><input type="reset" value="Reset" class="submit-reset"/></td> 
        </tr> 
       </table> 
      </td> 
     </tr> 
    </table> 
</form> 

我要顯示所有的代碼操作頁面上選中的 「天」 複選框:

<?php 
    foreach($day as $k) 
    { 
     echo $k.","; 
    } 
?> 

HTML表單和操作頁面的模板頁面的wordpress。 但它不起作用。我已經寫了這段代碼。

+0

你有沒有

標籤在您的網站上?請顯示完整的代碼。 – 2013-05-14 11:10:16

+0

你提交表單嗎?顯示完整的表單? – Rikesh 2013-05-14 11:10:32

+0

我通過提交表單來完成提交按鈕。它工作很酷 – 2013-05-14 11:12:12

回答

0

這可以幫助你:

<form name="search_field" id="search_field" action="formpage.php" method="post" > 
    <ul> 
    <li><input type="checkbox" name="day[]" value="mon"/>Monday</li> 
    <li><input type="checkbox" name="day[]" value="tue"/>Tueday</li> 
       <li><input type="checkbox" name="day[]" value="wed"/>Wednesday</li> 
       <li><input type="checkbox" name="day[]" value="thr"/>Thursday</li> 
       <li><input type="checkbox" name="day[]" value="fri"/>Friday</li> 
       <li><input type="checkbox" name="day[]" value="sat"/>Saturday</li> 
       <li><input type="checkbox" name="day[]" value="sun"/>Sunday</li> 
    </ul> 
    <input type="submit" id="submit" name="submit" /> 
    </form> 

你可以從這個工作的結果(爲了您更好的瞭解):

<form name="search_field" id="search_field" action="formpage.php" method="post" > 
<?php if(!$_POST == ''){ ?> 
<ul> 
<li><input type="checkbox" <?php if(in_array("mon", $_POST['day'])) {?> checked="checked"<?php } ?> name="day[]" value="mon"/>Monday</li> 
<li><input type="checkbox" <?php if(in_array("tue", $_POST['day'])) {?> checked="checked"<?php } ?> name="day[]" value="tue"/>Tueday</li> 
      <li><input type="checkbox" <?php if(in_array("wed", $_POST['day'])) {?> checked="checked"<?php } ?> name="day[]" value="wed"/>Wednesday</li> 
      <li><input type="checkbox" <?php if(in_array("thr", $_POST['day'])) {?> checked="checked"<?php } ?> name="day[]" value="thr"/>Thursday</li> 
      <li><input type="checkbox" <?php if(in_array("fri", $_POST['day'])) {?> checked="checked"<?php } ?> name="day[]" value="fri"/>Friday</li> 
      <li><input type="checkbox" <?php if(in_array("sat", $_POST['day'])) {?> checked="checked"<?php } ?> name="day[]" value="sat"/>Saturday</li> 
      <li><input type="checkbox" <?php if(in_array("sun", $_POST['day'])) {?> checked="checked"<?php } ?> name="day[]" value="sun"/>Sunday</li> 
</ul> 
<input type="submit" id="submit" name="submit" /> 
</form> 
<?php 
print_r($_POST); 
?> 
<?php } else { ?> 


<form name="search_field" id="search_field" action="formpage.php" method="post" > 
<ul> 
<li><input type="checkbox" name="day[]" value="mon"/>Monday</li> 
<li><input type="checkbox" name="day[]" value="tue"/>Tueday</li> 
      <li><input type="checkbox" name="day[]" value="wed"/>Wednesday</li> 
      <li><input type="checkbox" name="day[]" value="thr"/>Thursday</li> 
      <li><input type="checkbox" name="day[]" value="fri"/>Friday</li> 
      <li><input type="checkbox" name="day[]" value="sat"/>Saturday</li> 
      <li><input type="checkbox" name="day[]" value="sun"/>Sunday</li> 
</ul> 
<input type="submit" id="submit" name="submit" /> 
</form> 



<?php } ?> 

剛創建的文件formpage.php,粘貼上面的代碼並檢查結果。

+0

它將與wordpress一起工作嗎?我的表單是在wordpress中。 – 2013-05-14 13:44:57

1

試試這個,

<form name="frmli" action="" method="post"><ul> 
<li><input type="checkbox" name="day[]" value="mon"/>Monday</li> 
      <li><input type="checkbox" name="day[]" value="tue"/>Tueday</li> 
      <li><input type="checkbox" name="day[]" value="wed"/>Wednesday</li> 
      <li><input type="checkbox" name="day[]" value="thr"/>Thursday</li> 
      <li><input type="checkbox" name="day[]" value="fri"/>Friday</li> 
      <li><input type="checkbox" name="day[]" value="sat"/>Saturday</li> 
      <li><input type="checkbox" name="day[]" value="sun"/>Sunday</li> 
      <li><input type="submit" name="submit" value="submit"/></li> 
</ul> 

</form> 
<?php 
if(isset($_POST['submit'])){ 
foreach($_POST['day'] as $day) 
{ 
echo $day." "; 
} 
} 
?> 
+0

我也試過這個也不行! – 2013-05-14 11:15:49

+0

我檢查了它的工作,你是否添加了提交按鈕和表單? – 2013-05-14 11:19:40

0

請確保您有表單標籤設置是這樣的:method="post"。也首先檢查是否已設置POST['day']。在這種情況下我使用了count()。我添加了if else語句,以便如果您的$_POST['day']爲空,您至少會迴應它爲空。

<form name="frmli" action="" method="POST"> 
<ul> 
    <li><input type="checkbox" name="day[]" value="mon"/>Monday</li> 
    <li><input type="checkbox" name="day[]" value="tue"/>Tueday</li> 
    <li><input type="checkbox" name="day[]" value="wed"/>Wednesday</li> 
    <li><input type="checkbox" name="day[]" value="thr"/>Thursday</li> 
    <li><input type="checkbox" name="day[]" value="fri"/>Friday</li> 
    <li><input type="checkbox" name="day[]" value="sat"/>Saturday</li> 
    <li><input type="checkbox" name="day[]" value="sun"/>Sunday</li> 
    <input type="submit" value="submit" name="submit" /> 
</ul> 
</form> 
<?php 

if(empty($_POST['day'])){ 
    echo "none of the boxes were checked"; 
}else{ 
    $N = count($_POST['day']); 
    echo("You selected $N door(s): "); 
    for($i=0; $i < $N; $i++){ 
     echo($_POST['day'][$i] . " "); 
    } 
} 
?> 
+0

試試這段代碼,並告訴我它是否能解決問題,如果不是,錯誤會怎麼說? – 2013-05-14 11:31:02

+0

當你第一次加載頁面,沒有什麼是在你的$ _POST ['day']數組中,你的代碼會有一個錯誤,因爲它是空的,但你試圖通過循環來回顯它。您需要首先檢查代碼是否爲空。除此之外。一定要添加表單標籤(關閉表單標籤以及)和提交按鈕。 – 2013-05-14 11:34:38

+0

它已經解決了。 – 2013-05-15 09:11:59

相關問題