मुझे सच में यकीन नहीं है कि मैं यहाँ क्या गलत कर रहा हूँ। मैं अनिवार्य रूप से जांचता हूं कि तत्वों में से कोई भी मान खाली है, और यदि वे हैं तो यह उनके माध्यम से फिर से शुरू हो गया है।

एक बार जब यह पुनरावृत्त हो जाता है तो यह आईडी के उन तत्वों को जोड़ देता है जो div में खाली हैं। या कम से कम मुझे यही उम्मीद थी। कोई सहायता चाहिए? धन्यवाद!

<script>

   function validate(){
       var username = document.getElementById("username");
       var name = document.getElementById("name");
       var phone = document.getElementById("phone-number");
       var email = document.getElementById("email");
       var password = document.getElementById("password");
       var passwordc = document.getElementById("password-confirmation");

       var array = [username, name, phone, email, password, passwordc];

       if(username.value == "" || name.value == "" || phone.value == "" || email.value == "" || password.value == "" || passwordc.value == ""){
           document.getElementById('required-field-error').innerHTML = "The following must not be blank: ";

           for(i = 0; i < array.length; i++);{
               if(array[i].value == ""){
               document.getElementById('required-field-error').innerHTML += " array[i].id ";
               }
               else{document.getElementById('required-field-error').innerHTML += "";}
           }

       }
       else{
           document.getElementById('required-field-error').innerHTML = "";
       }
   }


</script> 
0
Gennaro 2 अप्रैल 2018, 08:15

3 जवाब

सबसे बढ़िया उत्तर

आपने लूप के लिए स्वतंत्र रूप से समाप्त कर दिया और इसलिए आप बॉन्ड इंडेक्स से बाहर हो रहे हैं। और 'Xufox' द्वारा सूचक के रूप में भी जो कि शाब्दिक स्ट्रिंग है। नीचे दी गई सही स्क्रिप्ट खोजें:

  <script>
       function validate(){
           var username = document.getElementById("username");
           var name = document.getElementById("name");
           var phone = document.getElementById("phone-number");
           var email = document.getElementById("email");
           var password = document.getElementById("password");
           var passwordc = document.getElementById("password-confirmation");

           var array = [username, name, phone, email, password, passwordc];

           if(username.value == "" || name.value == "" || phone.value == "" || email.value == "" || password.value == "" || passwordc.value == ""){
               document.getElementById('required-field-error').innerHTML = "The following must not be blank: ";

               for(i = 0; i < array.length; i++){
                   if(array[i].value == ""){
                   document.getElementById('required-field-error').innerHTML += " " + array[i].id;
                   }
                   else{document.getElementById('required-field-error').innerHTML += "";}
               }

           }
           else{
               document.getElementById('required-field-error').innerHTML = "";
           }
       }        
    </script> 
0
jazz 2 अप्रैल 2018, 06:11

मैं आपकी आवश्यकता को ठीक से नहीं जानता। लेकिन अगर आप JQuery सत्यापन का उपयोग करते हैं जो आपके लिए चीजों को सरल बना देगा।

0
Jatinder Kumar 2 अप्रैल 2018, 05:30

आप इसके बजाय कुछ ऐसा करके अपने कोड को बहुत सरल बना सकते हैं:

function validate() {
  const requiredFields = ['username', 'name', 'phone-number', 'email', 'password', 'password-confirmation'];
  const missingFields = requiredFields.filter(requiredFieldStr => {
    return !document.getElementById(requiredFieldStr).value;
  });
  const requiredFieldError = document.getElementById('required-field-error');
  if (missingFields.length > 0) {
    requiredFieldError.textContent =
      "The following must not be blank: " + missingFields.join('');
  } else requiredFieldError.textContent = '';
}
0
CertainPerformance 2 अप्रैल 2018, 05:21