2009-07-25 12 views
6

Im लॉगिन इनपुट को खाली इनपुट फ़ील्ड के साथ सबमिट करने से रोकने के लिए एक सरल समाधान की तलाश में हूं। फॉर्म के लिए कोड नीचे है। यदि संभव हो तो मैं एक साधारण जावास्क्रिप्ट soluiton का उपयोग करना चाहूंगा।रिक्त इनपुट मानों के साथ सबमिट करना बंद करें

<form id="login" method="post" action=""> 
    <input type="text" name="email" id="email" /> 
    <input type="password" name="pwd" id="pwd" /> 
    <button type="submit" id="submit">Login</button> 
</form>  

यदि संभव हो तो मैं खाली क्षेत्र की सीमा को भी बदलना चाहूंगा।

अग्रिम धन्यवाद।

उत्तर

9

नमूना कोड:

<script type="text/javascript"> 
function checkForm(form) { 
    var mailCheck = checkMail(form.elements['email']), 
     pwdCheck = checkPwd(form.elements['pwd']); 
    return mailCheck && pwdCheck; 
} 

function checkMail(input) { 
    var check = input.value.indexOf('@') >= 0; 
    input.style.borderColor = check ? 'black' : 'red'; 
    return check; 
} 

function checkPwd(input) { 
    var check = input.value.length >= 5; 
    input.style.borderColor = check ? 'black' : 'red'; 
    return check; 
} 
</script> 

<style type="text/css"> 
#login input { 
    border: 2px solid black; 
} 
</style> 

<form id="login" method="post" action="" onsubmit="return checkForm(this)"> 
    <input type="text" name="email" id="email" onkeyup="checkMail(this)"/> 
    <input type="password" name="pwd" id="pwd" onkeyup="checkPwd(this)"/> 
    <button type="submit" id="submit">Login</button> 
</form> 
3

संभावित दृष्टिकोण:

  • सेटिंग कार्रवाई #
  • सबमिट बटन या रूप
  • परिवर्तन प्रपत्र की कार्रवाई की onsubmit को हैंडलर जोड़ने, अगर पाठ फ़ील्ड खाली नहीं हैं करने के लिए

संपादित करें: गैर-जावास्क्रिप्ट उपयोगकर्ताओं के लिए यह भी काम करने के लिएडालें 10 पृष्ठ जब लोड हो जाता है। डमी चेक के

+1

और वापसी झूठी जोड़ने के लिए मत भूलना; यदि आपके टेक्स्ट फ़ील्ड खाली है, तो अपने ऑनस्बिमिट हैंडलर में। साथ ही, फॉर्म मान्य करने के लिए बेहतर दृष्टिकोण के लिए jQuery सत्यापन प्लगइन देखें: http://docs.jquery.com/Plugins/Validation –

+0

आप वापसी झूठ के साथ सही हैं। लेकिन मैंने प्रश्न में jQuery के बारे में कुछ भी नहीं देखा है ;-) – TheHippo

+0

यदि संभव हो तो आप इसका मतलब बता सकते हैं कि आपका क्या मतलब है। मैं जेएस के लिए थोड़ा नया हूँ। मेरी जड़ें एक्सएचटीएमएल और सीएसएस में हैं। –

2

यह कम से कम रखने के लिए मैं सिर्फ का प्रयोग करेंगे:

<form id="login" method="post" action="" onSubmit="if (this.email.value == '' || this.pwd.value == '') {return false;}"> 

दी - का कहना नहीं पड़ता कि उपयोगकर्ता के लिए गलत है, लेकिन एक का इलाज काम करता है ।

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