2017-06-30 4 views
0

J'ai les données ci-dessous en html.Confused Javascript post

@Html.BeginForm("LoginDetails", "Home", FormMethod.Post){ 

<body onload="makeCalls()" style="background-image: url('../../ImageIcons/FaceLoginBG.jpg'); background-size: cover; visibility:hidden"> 


    <div class="captureAndCompareWindowForLogin" style="display: block; margin-left: auto;margin-right: auto;float: none;"> 
     <div class="centerTitle"> 
      <h3 style="color:white">Welcome</h3> 
     </div> 


     <div class="errText" id="errText" value="errText" visibility:hidden">Invalid Username and Password</div> 
     <form name="loginForm" id="loginForm"> 
      @Html.Label("Username") <input type="text" id="userid" name="userid"/><br /><br /> 
      @Html.Label("Password") <input type="password" id="pswrd" name="pswrd"/><br /><br /> 
      <input type="button" id="btnLogin" onclick="check()" value="Login" class="btn-block"> 
     </form> 
    </div> 

    <script type="text/javascript"> 
     function check() { 
      /* the following code checkes if user is given access */ 
      var userNameFromForm = document.getElementById("userid").value; 
      var passwordFromForm = document.getElementById("pswrd").value; 
      var lower = userNameFromForm.toLowerCase(); 

      if (userNameFromForm === "") { 
       alert("please enter your username"); 
      } 
      if (passwordFromForm === "") { 
       alert("please enter your password"); 
      } 
       //Display error message, reset the form and select the userid textbox 
      else { 
       console.log(document.getElementById("loginForm")); 
       document.getElementById("loginForm").submit(); 

      } 
     } 
    </script> 


</body> 
} 

lorsque je clique sur le bouton, sans vide username et password, il me donne le message d'alerte approprié, mais le nom d'utilisateur et mot de passe rempli et cliquez sur Envoyer me donne l'erreur ci-dessous. S'il vous plaît laissez-moi savoir où je me trompe et comment puis-je résoudre ce problème.

Merci

Répondre

1

Dans votre cas, problème est que vous sous forme d'emballage dans une autre forme. S'il vous plaît l'utiliser comme ça:

<body onload="makeCalls()" style="background-image: url('../../ImageIcons/FaceLoginBG.jpg'); background-size: cover; visibility:hidden"> 


    <div class="captureAndCompareWindowForLogin" style="display: block; margin-left: auto;margin-right: auto;float: none;"> 
     <div class="centerTitle"> 
      <h3 style="color:white">Welcome</h3> 
     </div> 


     <div class="errText" id="errText" value="errText" visibility:hidden">Invalid Username and Password</div> 
     @using (Html.BeginForm("LoginDetails", "Home", FormMethod.Post, new { id = "loginForm" })) 
     { 
     @Html.Label("Username") <input type="text" id="userid" name="userid" /><br /><br /> 
     @Html.Label("Password") <input type="password" id="pswrd" name="pswrd" /><br /><br /> 
     <input type="button" id="btnLogin" onclick="check()" value="Login" class="btn-block"> 
     } 


    </div> 

    <script type="text/javascript"> 
     function check() { 
      /* the following code checkes if user is given access */ 
      var userNameFromForm = document.getElementById("userid").value; 
      var passwordFromForm = document.getElementById("pswrd").value; 
      var lower = userNameFromForm.toLowerCase(); 

      if (userNameFromForm === "") { 
       alert("please enter your username"); 
      } 
      if (passwordFromForm === "") { 
       alert("please enter your password"); 
      } 
       //Display error message, reset the form and select the userid textbox 
      else { 
       console.log(document.getElementById("loginForm")); 
       document.getElementById("loginForm").submit(); 

      } 
     } 
    </script> 


</body> 

Votre code soumettre le formulaire à Home/LoginDetails url. Votre méthode HomeController devrait ressembler à ceci:

public ActionResult LoginDetails(string userid, string pswrd) 
{ 
    //do something 
} 
0

Débarrassez-vous de ce qui suit:

@Html.BeginForm("LoginDetails", "Home", FormMethod.Post)

Ou Vous pouvez utiliser ce qui suit, après la suppression de la balise formes 'LoginDetails de.

document.getElementById("LoginDetails").submit();