2015-07-12 7 views
12

में चेकबॉक्स चेक किया गया है तो चेक 1 को सबमिट करने के लिए कैसे करें यदि चेकबॉक्स सरणी में चेकबॉक्स चेक किया गया है, और 0 को अनचेक किया गया है तो सबमिट करें? मैंने कोशिश की लेकिन कोई किस्मत नहीं। जब फॉर्म सबमिट किया जाता है तो मैं इस सरणी को php सरणी में पकड़ने की कोशिश कर रहा हूं। कृपया सहायता कीजिए!यदि चेकबॉक्स अनचेक किया गया है और सबमिट करें तो 1 सबमिट करें यदि एचटीएमएल

<input id = 'testName0' type = 'checkbox' name = 'check[0]' value = '1' checked> 
<input id='testNameHidden0' type='hidden' value='0' name='check[0]'> 

<input id = 'testName1' type = 'checkbox' name='check[1]' value = '1' unchekced> 
<input id='testNameHidden1' type='hidden' value='0' name='check[1]'> 

<input type = 'submit' value = 'Save Changes'> 
> 
<script> 
if(document.getElementById('testName0').checked){ 
    document.getElementById('testNameHidden0').disabled = true; 
} 
</script> 

<script> 
if(document.getElementById('testName1').checked){ 
    document.getElementById('testNameHidden1').disabled = true; 
} 
</script> 

उत्तर

29

सरल एक, कोई जावास्क्रिप्ट आवश्यक है, बस चेकबॉक्स से पहले एक छिपा इनपुट डाल:

<input type="hidden" name="check[0]" value="0" /> 
<input type="checkbox" name="check[0]" value="1" /> 

इनपुट एक ही नाम की आवश्यकता है। यदि चेकबॉक्स चेक किया गया है तो मान 1 सबमिट किया जाएगा, अन्यथा छुपा इनपुट से 0 मान लें।

आपका मामला जावास्क्रिप्ट समाधान, कोई छिपी आदानों की जरूरत:

<script type="text/javascript"> 
    // when page is ready 
    $(document).ready(function() { 
     // on form submit 
     $("#form").on('submit', function() { 
      // to each unchecked checkbox 
      $(this + 'input[type=checkbox]:not(:checked)').each(function() { 
       // set value 0 and check it 
       $(this).attr('checked', true).val(0); 
      }); 
     }) 
    }) 
</script> 

<form method="post" id="form"> 
    <input type="checkbox" name="check[0]" value="1" /> 
    <input type="checkbox" name="check[1]" value="1" /> 
    <input type="submit" value="Save Changes" /> 
</form> 

पीएचपी समाधान, कोई छिपी आदानों की जरूरत:

<?php 
    // if data is posted, set value to 1, else to 0 
    $check_0 = isset($_POST['check'][0]) ? 1 : 0; 
    $check_1 = isset($_POST['check'][1]) ? 1 : 0; 
?> 

<form method="post"> 
    <input type="checkbox" name="check[0]" value="1" /> 
    <input type="checkbox" name="check[1]" value="1" /> 
    <input type="submit" value="Save Changes" /> 
</form> 
+0

हम्म अपने समाधान काम किया धन्यवाद –

+0

लेकिन क्या भाई इस जावास्क्रिप्ट के साथ जांच? –

+0

इस तरह के सरल कार्य के लिए जावास्क्रिप्ट का उपयोग करने की वास्तव में कोई ज़रूरत नहीं है। लेकिन मैंने जावास्क्रिप्ट और PHP समाधान भी शामिल करने के लिए अपना जवाब संपादित किया है। – JungleZombie

संबंधित मुद्दे