2011-08-24 9 views
6

जब मैं इसे सर्वर पर सबमिट करता हूं तो मैं फॉर्म में इनपुट फ़ील्ड कैसे देख सकता हूं?जब मैं इसे सर्वर पर सबमिट करता हूं तो फॉर्म में इनपुट फ़ील्ड को कैसे देख सकता हूं?

उदाहरण के लिए, मैं जाँच करने के लिए एक चेक बॉक्स 'mem_follow' नाम मौजूद है या नहीं या रूप में नहीं करना चाहता।

या मुझे जावास्क्रिप्ट (jquery) का उपयोग करना है?

उत्तर

1

यह जावास्क्रिप्ट होना होगा। PHP सर्वर से ब्राउज़र के गले में नहीं पहुंच सकता है और आपके लिए जांच कर सकता है। यह केवल जांच सकता है कि सबमिट किए गए डेटा में फ़ील्डनाम मौजूद है या नहीं।

jQuery में यह तुच्छ है:

if ($('input[name="nameoffield"]')) { ... field exists ... } 
बेशक

, इस सवाल को जन्म देती है ... तुम क्यों जानना एक क्षेत्र मौजूद है या नहीं करता है, तो क्या ज़रूरत है? संभवतः आप वह हैं जिसने फॉर्म बनाया है। यदि क्षेत्र मौजूद है या नहीं, तो आपको पहले ही पता होना चाहिए।

+0

thaknks। असल में मुझे इसे सर्वर की ओर से चाहिए। कभी-कभी मेरे पास फॉर्म में एक चेकबॉक्स होता है और कभी-कभी नहीं। इसलिए मैं इसे सर्वर की तरफ गतिशील बनाना चाहता हूं। – laukok

+0

'अगर (जारी ($ _ अनुरोध ['nameoffield']) {... यह सबमिट किया गया था ...}' –

+0

धन्यवाद मार्क! :) – laukok

0

आप jQuery का उपयोग कर सकते हैं और कुछ इस तरह करते हैं:

$('#myForm').submit(function (e) { 
    if($(this).children(':checkbox[name=mem_follow]').length > 0) 
     //exists 
    else 
     //doesn't exist 
}); 

या PHP का उपयोग करें और पूछें कि ऐसी 'mem_follow' नाम किसी भी चर रहा है: (हालांकि यह अगर यह बात नहीं है यह, पोस्ट के लिए है GET या POST)

if(isset($_POST['mem_follow'])) 
    //exists 
else 
    //doesn't exist 
0

मैं तुम्हें Jquery

$.fn.Exists = function() { 
return $(this).length>0; 
} 

if ($("here are your selector to check").Exists()) { 
    ... 
} 

सरल और उपयोगी का उपयोग करने का सुझाव देते हैं! और आप हर जगह इस Exists विधि))))

0

आप प्रपत्र submit ईवेंट हैंडलर

if($("input[name=mem_follow]").length > 0){ 
    //It exists 
} 
0

अन्य उत्तर यहाँ सही हैं में इस कोड की कोशिश कर सकते का उपयोग कर सकते हैं: आप उस पर कर दिया था ग्राहक पक्ष। चेकबॉक्स इनपुट फ़ील्ड के मामले में, यदि बॉक्स चेक नहीं किया गया है तो इस क्षेत्र के लिए ब्राउज़र में POST पैरामीटर शामिल करने की कोई गारंटी नहीं है।

उदाहरण के लिए

, अगर आप चेकबॉक्स चिह्नित बिना यह फ़ॉर्म सबमिट करेंगे:

<form action="test.php" method="post"> 
    <input type="checkbox" name="checkbox" value="YES" /> 
    <input type="submit" name="submit" value="submit" /> 
</form> 

केवल submit=submit पैरामीटर प्रस्तुत किया जाएगा।

तो, नहीं, आप गारंटी नहीं दे सकते कि दिए गए चेकबॉक्स सर्वर के पक्ष में किसी रूप में मौजूद हैं।

सभी तत्वों के लिए
0

अच्छी तरह से इस

number = document.form_name.elements.length; 
किसी और इनपुट उपयोग की एक विशिष्ट नाम के लिए

कोशिश इस

number = document.form_name.getElementsBYName('Name of Input').length; 

Thats यह

का आनंद

2

मुझे तुम्हारी जरूरत है अनुमान लगा रहा हूँ फॉर्म जमा होने के बाद सर्वर की तरफ जांचने के लिए।यदि ऐसा है, तो आप इस तरह की जांच कर सकते हैं ...

<?php 
if (isset($_POST['mem_follow'])) 
{ 
    // Work your server side magic here 
} else { 
    // The field was not present, so react accordingly 
} 
?> 

आशा है कि इससे मदद मिलती है!

1

निम्न स्क्रिप्ट में फॉर्म तब तक सबमिट नहीं करेगा जब तक कि चेकबॉक्स का पता नहीं लगाया जाता है। और यदि आप कोशिश करते हैं, तो एक त्रुटि संदेश के साथ छुपा div दिखाया गया है, आपको यह बताने के लिए क्यों।

<form action="test.php" method="post" id="myform"> 
    <input type="checkbox" name="checkbox" id="checkbox" value="YES" /> 
    <input type="submit" name="submit" value="submit" /> 
</form> 
<div id="error_message_div" style="display:none">You must tick the checkbox</div> 
<script> 
    $('#myform').submit(function() { 
     if($('#checkbox').attr('checked')) { 
      return true; 
     } else { 
      $("#error_message_div").show(); 
      return false; 
     } 
    }); 
</script> 

चीयर्स मैट

1

आप दो तरह से कर सकते हैं: php

<?php 
if (isset($_POST['mem_follow']) 
{ 
    // Work your server side magic here 
} else { 
    // The field was not present, so react accordingly 
} 
?> 

में क्लाइंट साइड द्वारा::

सर्वर साइड करके Jquery

में
$('#submit_button').click(function() { 
    if ($('input[name="box_name"]')) { 
    if($('input[name="box_name"]').attr('checked')) { 
     return true; 
    } else { 
     return false; 
    } 
    } 
}); 
0

वैसा करने के लिए जावास्क्रिप्ट (या jQuery) का उपयोग कर सकते हैं: एक के बाद एक, या अगर बयान में सभी शर्तों डालकर

<script> 
    $('#myform').submit(function() { 
     if($('#yourFieldId').val()=='') { 
      alert('the field ' + $('#yourformField').name() + ' is empty !'); 
      return false; 
     } else { 
      return true; 
     } 
    }); 
</script> 

आप अपने सभी क्षेत्रों के लिए ऐसा कर सकते हैं।

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

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