2

我有这样的表格:

<form method='post' action='next' onsubmit="return validateMyForm();" >
    <input type="text" id="data" />
<input type="submit" />
<p id="result"></p>

这个与node.js交互的代码:

socket = io.connect();
function vlidateMyForm(){
    var data = $('data').val();
    socket.emit('login',{data: data});   // check dataBase in server
    return false;
}

socket.on('responseLogin',function(result){
    if(result){    // if data is valid 
        // submit form  
    }
    else{   // data invalid
        $('#result').html('field is not valid')
    }  
});

当结果为真时,我想提交我的表单。我应该怎么做才能解决这个问题?

4

2 回答 2

1

更改socket.on('responseLogin',function(result){...socket.on('login',function(result){...应该可以解决您的问题

于 2017-11-17T10:52:34.947 回答
0

您可以使用 Jquery submit提交表单:

$("form#formID").submit();

您的表单必须具有类似的操作属性action='url_to_post_to'

或者如果你喜欢使用 AJAX 来处理数据,你可以这样做:

$.ajax({
    type: "POST",
    url: 'url_to_post_to',
    data: $("#formID").serialize(),
    success: function(data)
    {
       alert(data);
    }
});
于 2013-07-07T05:36:16.230 回答