Как определить прямой адрес на основе возвращаемых значений функции JavaScript? - PullRequest
0 голосов
/ 11 августа 2011

Я создал форму HTML5, и теперь при нажатии кнопки отправки я вызываю функцию JavaScript.Я хочу определить, какую страницу отображать дальше («success.html» или «error.html»), основываясь на значении, возвращенном функцией (true или false соответственно).Как мне достичь этого ... Я написал следующий код для этого ...

<!DOCTYPE html>
<html>
    <head>
        <title></title>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <script src="http://code.jquery.com/jquery-1.6.2.js"></script>
        <script>
            function submitData(){              
                var browserName = navigator.appName;
                if (browserName=="Microsoft Internet Explorer")
                {
                    var emailId = document.getElementById("emailId").value;
                    var filter = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
                    if (!filter.test(emailId.value)) {                    
                        alert('Please provide a valid email address');
                        emailId.focus;
                        return false;
                    }
                }else{
                    alert("This is not IE. You are lucky. Your browser is : "+browserName);
                }                
                return true;
            }
        </script>
    </head>
    <body>
        <form id ="myForm" action ="success.html" method="get" onsubmit="return submitData()" onerror="error.html">
            <h1 style="color: darkgoldenrod"> Registration Form </h1>
            Name : 
            <input id ="nameId" type="text" autofocus="true" placeholder="Enter your Name " required="true"/> <br/>
            email ID :
            <input id ="emailId" type="email"/>
            Age :
            <input type="number" min="18" max="70" step="1" value="26">
            <input type="submit" name="submit" />
        </form>
    </body>
</html>

Спасибо, как вы можете догадаться, я новичок в HTML и JavaScript .. Так что любая помощь будет очень признательна...

Ответы [ 2 ]

1 голос
/ 11 августа 2011

не уверен, что это то, что вы намереваетесь сделать, но здесь все идет так: (извините за слабый синтаксис)

// b is true or false
function goTo(b){
  if(b){
    //go to 1.html
  }else{
    //go to 2.html
  }
}

function submitData(){
  //do something
  //result = true/false .... 

  goTo(result);
}
1 голос
/ 11 августа 2011

Добавление следующего кода внутри <script>, после submitData должно помочь.

$(function(){
    $('#myForm').submit(function(e) {
        if (!submitData()) {
            $(this).attr('action', 'error.html');
        }
    });
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...