【问题标题】:how to transfer prompt box input data to serlvet?如何将提示框输入数据传输到servlet?
【发布时间】:2012-03-16 05:12:14
【问题描述】:

我想将提示框输入数据传输到servlet。 我的过程是调用 javascript 函数进行表单验证。如果表单数据有效,我会通过提示框询问常用名。我想用这个名字传输到 servlet,我会通过 servlet 得到这个名字。 这个过程是真的还是假的?如果为真,如何将这个提示框输入数据传输到servlet?我没有使用 Ajax。

ံJSP 代码:

<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>

【问题讨论】:

  • 答案取决于您发送数据的方式,是普通表单发布还是 AJAX 调用?
  • 你的问题不是很清楚。能多解释一下吗?
  • 您是通过 ajax 将数据发送到 servlet 吗?
  • 在此处发布您的示例 html 和 javascript

标签: javascript jsp servlets


【解决方案1】:

这里是修改后的代码:*

<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>

【讨论】:

    【解决方案2】:

    嘿,你可以试试这个:

    例如:

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

    然后你可以从jsp调用sevlet并使用值...

    【讨论】:

      猜你喜欢
      • 2022-01-09
      • 2018-05-20
      • 2014-03-06
      • 2012-05-26
      • 1970-01-01
      相关资源
      最近更新 更多