1

我正在使用以下 jquery 代码来接收值并验证完美工作的值。然后将它们发送到我的 java 应用程序并接收响应,但它不会将请求发送到指定的方法。

 <script type="text/javascript">
            $(document).ready(function(){
                $('#reg').click(function(){
                    $('#signup').show('fast');
                });
                $('#register').click(function(){
                    var name = $("#name").val();
                    var family = $("#family").val();
                    if(name.length <= 1)
                    {
                        $("#messageSent").text("name is invalid");
                    }
                    else if(family.length <= 1){
                            $("#messageSent").text("family is invalid");
                    }else{
                        var data = 'name=' + name & 'family='+ family;
                          $.ajax({
                              type:"GET",
                              cache:false,
                              url:"http://localhost:8080/myApp/register.jsp",
                              data : data,
                              success:function(html){
                                  $("#messageSent").html(html);
                              }
                          });
                          return false;
                         }

                    });
                });
4

4 回答 4

1

好的,这是您需要做的

1)如何将表单的值传递给验证函数?

答:您不需要传递值,验证函数可以获取表单元素的值。这是你如何做到的。

var name=$("name").val();
var family=$("family").val();

一旦你得到所有的值,你就可以做任何你想做的事情来验证它。

2)如何显示错误或确认信息?(因此表单一旦提交就不应隐藏)。

答:可以创建一个 div 并设置它的 css 属性 display:hidden。如果您的验证功能未验证表单,您可以使此 div 可见并在其中显示错误。

<div id="merror" style="display:none"></div>

然后在您的验证功能中

$("merror").show();
$("merror").html("The form validation failed, please try again");

3)我的方法还有其他选择吗?

答:如果您已经在使用 jquery,请使用 jquery $.post 来发布数据,而不是常规的 javascript ajax 方法。使用 jquery 方法的好处是它的跨浏览器兼容并且更易于使用。

还有一件事。当您收到服务器的响应时,您应该显示确认。

于 2013-03-17T06:49:47.867 回答
1

您可以使用 jquery validate 来验证表单。

有关更多信息,请参阅此链接:http: //docs.jquery.com/Plugins/Validation

请找到更新的答案。希望能帮助到你。

<script type="text/javascript">
$(document).ready(function () {
    $('#registrationform').hide();
    $('#registrationBtn').click(function () {
        $('#registrationform').show();
    });
});

function saveForm() {
    $("#registrationform").validate({
        rules: {
            //add rules for validation here
            name : "required"
        },
        submitHandler: function() {
            //ajax code to execute if form is successfully validated
            var request = $("#registrationform").serialize();
            $.ajax({
                type: "POST",
                url: url,
                data: request,
                dataType:"json",
                async:false,
                success: function(response){    
                    $('#registrationform').hide();                                                           
                },
                error: function(XMLHttpRequest,textStatus){                     
                }
            });            
        },
        messages : {
            //error messages to display
            name : "Please enter the name"
        }
    });
}
</script>
<input type="button" id="registrationBtn" name="registrationBtn" value="Register"/>
<form id="registrationform">
    <input type="text" id="name" name="name" /><br/>
    <input type="submit" id="submitBtn" name="submitBtn" onclick="saveForm();"/>
</form>
于 2013-03-17T07:04:13.083 回答
1

为什么不使用 AJAX jQuery?“$.ajax({});”

我希望我有所帮助。

$(document).ready(function() {
   $('#register').submit(function() {
      var name = $('#name').val();
      var family = $('#family').val();
      if($.trim(name) == '' || $.trim(family) == '') {
         alert('You can not leave fields blank. Sorry.');
      } else {
         $.ajax({
            type: 'POST',
            url: 'form.php',
            beforeSend: function() {
               // function while sending...
            },
            success: function(data) {
               // function if success. "data" returns the response
            },
            error: function() {
               // Create function for errors in the page request.
            }
         });
      }
   });
});
于 2013-03-17T07:10:05.433 回答
1

创建另一个 jsp 文件并将结果放入其中 然后从第一页调用控制器并在主页面的 div 中提供新的 jsp 文件。

$.ajax({
    type: "GET",
    url: "nameOfAction",
    data:"name=" + name + "family=" + email,
    dataType: "text/html;charset=utf-8",
    success: function(msg) {
        $("#nameOfDive").html(msg);
    }
});
于 2013-03-20T04:03:03.087 回答