2015-10-11 2 views
0

Я думаю, что я получил логику в значительной степени с моей веб-страницей, единственная проблема, с которой я сейчас сталкиваюсь, заключается в том, что кнопка «Отправить» не будет запускать предупреждение javascript () ".Как сделать простую отправку сообщения HTML с проверкой выполнения

Вот мои HTML коды:

<body> 
<h1>Send us a message</h1> 
<form name = "info"> 
Name: <input type = "text" id = "inf" name = "name" placeholder="Enter a valid name" >*</br></br> 
Email Address: <input type="email" id = "inf" name="email" placeholder="Enter a valid email address" >*</br></br> 
Phone Number: <input type = "tel" id = "inf" name ="PN" placeholder="Enter a valid phone number" >*</br></br> 
<textarea name="Text1" cols="40" rows="5" placeholder="Write Your Message Here..."></textarea><br><br> 
<input type ="button" value = "Send" onclick="alert()"> 
</form> 
</body> 

Вот мои коды Javascript:

<script type = "text/javascript"> 
function ValEntry(){ 
    var valid = true; 

    if (document.info.name.value== ""||document.info.email.value== ""||document.info.PN.value == "") 
    { 
     alert ("Please fill up the remaining text boxes"); 
     valid = false; 
    } 
    return valid; 
} 

function checkemail(){ 
    var testresults1 
    var str=document.info.email.value 
    var filter=/^([\w-]+(?:\.[\w-]+)*)@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/i 

    if (filter.test(str)) 
    testresults1=true 
    else{ 
    alert("Please input a valid email address!") 
    testresults1=false 
    } 
return (testresults1) 
} 

function checkphone(){ 
    var testresults2 
    var int = document.info.PN.value 
    var filter2= /[1-9]/g; 

    if (filter2.test(int)) 
    testresults2=true 
    else{ 
    alert("Please input a valid phone number!") 
    testresults2=false 
} 
return (testresults2) 
} 

function validate(){ 
    if (document.info.email.value) 
    return checkemail() 
    else{ 
    return true 
    }  
} 

function validate2(){ 
    if (document.info.PN.value) 
    return checkphone() 
    else{ 
    return true 
    }  
} 

function FinalVal(){ 
    return ValEntry() && validate() && validate2(); 

} 

function alert(){ 
    FinalVal(); 
    { 
     var fields=["name"]; 
     var msg = ""; 
     msg += "The message has been sent " + document.info[ fields ].value + "!"; 
     alert("msg"); 
    } 
    return true; 
} 


</script> 
+0

почему повторное проектирование колесо, когда все, что уже доступен с [jQueryValidation] (http://jqueryvalidation.org/) ... или что-то, чтобы узнать/тест/играть? – balexandre

+0

Тестирование, чтобы я мог изучить его для себя. – Raios

ответ

0

Проблема с вашего звонка, чтобы предупредить(). Держу пари, что вы просто получаете в поле пустым, оповещения при нажатии на кнопку ...

<input type ="button" value = "Send" onclick="alert()"> 

Это встроенный в JavaScript функции, и вы пытаетесь определить свои собственные с тем же именем. Переименуйте эту функцию почти во что угодно, и она будет работать для вас.

<input type="button" value="Send" onclick="testSubmit()"> 

function testSubmit(){ 
    FinalVal(); 

    var fields=["name"]; 
    var msg = ""; 
    msg += "The message has been sent " + document.info[ fields ].value + "!"; 
    alert("msg"); 

    return true; 
} 
Смежные вопросы