在服务器上通过socket.io和node.js进行数据validation,然后POST一个

我有这样一个表格:

<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') } }); 

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

更改socket.on('responseLogin',function(result){...socket.on('login',function(result){...应该修复你的问题

你可以使用jquery submit来提交表单:

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

你的表单必须具有action action='url_to_post_to'这样的action属性。

或者,如果您想使用AJAX以便可以处理数据,则可以执行以下操作:

 $.ajax({ type: "POST", url: 'url_to_post_to', data: $("#formID").serialize(), success: function(data) { alert(data); } });