我正在尝试从表单中拉出输入,但不包括按钮,但不包括单选按钮。我通过form元素的.find()方法获取输入。我有输入,但是无法将它们限制为仅提交按钮或类似按钮以外的其他输入。我已经尝试过jquery .is()、. type(),但都没有运气,任何建议/引用都会有所帮助,因为到目前为止我还没有找到任何帮助的方法。这是我用来提取表格的代码。
var inputs = formList.find(":input");
if (inputs ? inputs.length > 0 : false)
{
for(j = 0;j < inputs.length; j++)
{
console.log("input: " + inputs[j]);
if (inputs[j].name != "")
{
webForms.push({"inputName": inputs[j].name});
}else if (inputs[j].id != "")
{
webForms.push({"inputName": inputs[j].id});
}
}
}
就像我说的那样,我没有运气就尝试过.is和.type。这是我如何使用.is()的示例
var formList = $("form");
var formName = $("form").attr("name");
if (formList != null ? formList.length > 0 : false)
{
if (formList.length < 2)
{
if (formList.attr("name") ? formList.attr("name") != "" : false)
{
//alert("form name is not null");
//alert("form name: " + formList.attr("name"));
var webForms = [];
//alert("formList name: " + formList[i]);
var inputs = formList.find(":input");
if (inputs ? inputs.length > 0 : false)
{
for(j = 0;j < inputs.length; j++)
{
console.log("input: " + inputs[j]);
if (inputs[j].name != "")
{
if(inputs[j].is(":button"))
{
console.log(inputs[j].name + " is a button");
}
webForms.push({"inputName": inputs[j].name});
}else if (inputs[j].id != "")
{
if(inputs[j].is(":button"))
{
console.log(inputs[j].name + " is a button");
}
webForms.push({"inputName": inputs[j].id});
}
}
}
//alert(JSON.stringify(webForms));
jsonForm.forms[jsonForm.forms.length - 1].name = formList.attr("name");
//alert("json form name: " + JSON.stringify(jsonForm));
jsonForm.forms[jsonForm.forms.length - 1].inputs = webForms;
//alert("name: " + jsonForm.forms[jsonForm.forms.length - 1].name);
}
}
感谢您的帮助。
最佳答案
您可以使用以下代码来获取不是button
或input
且type
属性为“ submit”的输入元素。
var inputs = formList.find(':input:not(button, [type="submit"])');
Here是现场演示。