javascript - 如何检测html输入对象是否是按钮?

标签 javascript jquery html

我正在尝试从表单中提取输入,不包括按钮,但不包括单选按钮。我通过表单元素的 .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 属性为 "的输入元素提交”。

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

Here是现场演示。

关于javascript - 如何检测html输入对象是否是按钮?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29089705/

相关文章:

javascript - 也运行在浏览器中的 Go 模板引擎

javascript - 如何同时使用多个jquery?

javascript - 将 Google Places API 限制在特定国家/地区

javascript - 我可以使用此代码显示两个不同的窗口吗?

javascript - React - 使用 for 循环创建 x 个组件实例

javascript - 如何显示进度图标直到所选图像完全加载?

javascript - 如何使用神经网络和突触库制作项目定价估算器

html - 为什么我的 <span> 不能垂直居中?

javascript - 如何将文件的内容发送到我的服务器?

html - 哪种方法更好 :- having 2 classes in html tag or 2 classes with same property