2012-03-16 22 views
0

我想將提示框輸入數據轉移到servlet。 我的過程正在調用JavaScript函數進行表單驗證。如果表格數據有效,我會通過提示框詢問常用名稱。我想用這個名字傳遞給servlet,我將通過servlet獲取這個名字。 這個過程是否正確?如果爲true,我該如何將這個提示框輸入數據轉移到servlet?我沒有使用Ajax。如何將提示框輸入數據轉移到serlvet?

ံJSP代碼:從JSP可以調用sevlet並使用值

<script language="javascript" type="text/javascript"> 
    function call(){ 
     var name = prompt('Common Name', ''); 
     window.location.replace("a.jsp?name="+name); 
    } 
</script> 

然後:

<html> 
    <head> 
    <title>TESTING!!!</title> 
    <script type="text/javascript"> 
    function validateForm(){ 
    var email=document.frm.email.value; 
    var password = document.frm.password.value; 
    var reg = /^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/; 

    var result = true; 
    if(email==null || email==""){ 
    alert("fill email address"); 
    document.frm.email.focus(); 
    result = false; 
    }else if(file==null || file == ""){ 
    alert("choose file"); 
    document.frm.fName.focus(); 
    result = false; 
    }else if(password==null || password == ""){ 
    alert("fill password"); 
    document.frm.password.focus(); 
    result = false; 
    }else if (reg.test(email)==false){ 
    alert("Not a valid e-mail address"); 
    document.frm.email.focus(); 
    result = false; 
    }else{ 
    var cn = prompt('Common Name', ''); 
    if(cn) alert("Common Name is " +cn); 
    result = true; 
    } 
    return result;     
    } 
    </script> 
    </head> 
    <body> 
    <form name="frm" action="test" method="POST" 
     enctype="multipart/form-data" onsubmit="return validateForm();"> 
    <p>Email : <input type="text" name="email"></p> 
    <p>Password : <input type="password" name="password"></p> 
    <p><input type="submit" value="Submit"></p> 
    </form> 
    </body> 
    </html> 
+0

答案取決於你是如何發送數據的,這是正常的表單發佈還是AJAX調用? – Nemoy 2012-03-16 05:21:37

+0

從你的問題中不太清楚。你能再給一些解釋嗎? – 2012-03-16 05:23:17

+0

您是否通過ajax將數據發送給servlet? – Nemoy 2012-03-16 05:44:21

回答

0

這是修改後的代碼: *

<html> 
    <head> 
    <title>TESTING!!!</title> 
    <script type="text/javascript"> 
    function validateForm(){ 
    var email=document.frm.email.value; 
    var password = document.frm.password.value; 
    var reg = /^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/; 

    var result = true; 
    if(email==null || email==""){ 
    alert("fill email address"); 
    document.frm.email.focus(); 
    result = false; 
    }else if(file==null || file == ""){ 
    alert("choose file"); 
    document.frm.fName.focus(); 
    result = false; 
    }else if(password==null || password == ""){ 
    alert("fill password"); 
    document.frm.password.focus(); 
    result = false; 
    }else if (reg.test(email)==false){ 
    alert("Not a valid e-mail address"); 
    document.frm.email.focus(); 
    result = false; 
    }else{ 
    var cn = prompt('Common Name', ''); 
    if(cn) alert("Common Name is " +cn); 
    document.frm.commonName.value = cn; // assigning propt value to hidden field 
    result = true; 
    } 
    return result;     
    } 
    </script> 
    </head> 
    <body> 
    <form name="frm" action="test" method="POST" 
     enctype="multipart/form-data" onsubmit="return validateForm();"> 
    <p>Email : <input type="text" name="email"></p> 
    <p>Password : <input type="password" name="password"></p> 
    <p><input type="submit" value="Submit"></p> 
    <!-- hidden field for commonName --> 
    <input type="hidden" value="" name="commonName" /> 
    </form> 
    </body> 
    </html> 
+0

謝謝,我明白了。 – 2012-03-16 07:04:24

0

嘿,你可以試試這個:

例如。 ..

相關問題