我正在尝试从表单中拉出输入,但不包括按钮,但不包括单选按钮。我通过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);
    }

  }


感谢您的帮助。

最佳答案

您可以使用以下代码来获取不是buttoninputtype属性为“ submit”的输入元素。

 var inputs = formList.find(':input:not(button, [type="submit"])');


Here是现场演示。

07-28 02:27
查看更多