Javascript 当存在多个输入字段(JSON)时,如何序列化表单?

Javascript 当存在多个输入字段(JSON)时,如何序列化表单?,javascript,jquery,html,json,ajax,Javascript,Jquery,Html,Json,Ajax,我以前有两个表单,但在读了几篇文章后,我意识到这两个表单确实符合我的目的,所以我将这两个表单合并到一个唯一的表单下。我使用用户条目作为查询参数来显示2个表(我有2个输入字段和2个相应的按钮)。我希望entry1成为query2的过滤器。在我的js文件中,我使用JSON格式和AJAX编写了两个搜索函数。当我有两个表单时,我可以填充这两个表,但我不能作为过滤器访问input1。现在我将两个表单合并为一个表单,我可以访问input1,但是现在我遇到了serialize函数的问题,无法从合并表单传递特定

我以前有两个表单,但在读了几篇文章后,我意识到这两个表单确实符合我的目的,所以我将这两个表单合并到一个唯一的表单下。我使用用户条目作为查询参数来显示2个表(我有2个输入字段和2个相应的按钮)。我希望entry1成为query2的过滤器。在我的js文件中,我使用JSON格式和AJAX编写了两个搜索函数。当我有两个表单时,我可以填充这两个表,但我不能作为过滤器访问input1。现在我将两个表单合并为一个表单,我可以访问input1,但是现在我遇到了serialize函数的问题,无法从合并表单传递特定输入字段中的数据?如何使用serialize()函数使其仅应用于表单的一个输入字段?单击按钮2后,此处显示search2的js文件:

function runSearch2( term) {                                                  

$('#table2').empty();                                                     
$('#table1').empty();                                                     
//Alert ('go');                                                           
// transforms all the form parameters into a string we can send to the se$
var frmStr = $('#user_entry').serialize();                                

$.ajax({                                                                  
    url: './cgi_temp2.cgi',                                               
    dataType: 'json',                                                     
    data: frmStr,                                                         
    success: function(data, textStatus, jqXHR) {                          
        processJSON2(data);                                               
    },                                                                    
    error: function(jqXHR, textStatus, errorThrown){                      
        alert("Failed to perform gene search! textStatus: (" + textStatus$
              ") and errorThrown: (" + errorThrown + ")");                
    }                                                                     
});                                                                       

}这很容易。您只需选择要序列化的entry1:

var frmStr = $('#entry1').serialize(); 
前提是entry1具有id=“entry1”属性。

将name属性附加到所有输入元素,每个元素都将使用.serialize()进行序列化。你知道,serialize()不会生成JSON。它生成一个key=value对URL,谢谢。JSON文件是在使用CGI脚本进行mySQL查询之后创建的(我的问题有点误导),现在我合并了这两个表单,并且能够序列化每个用户输入,我认为它将允许我访问input1的值,将其用作CGI脚本中query2的过滤器。。但看起来我无法读取input1的值并将其作为条件添加到mysql查询中。。这从来都不容易!