lei*_*ifg 46 javascript jquery
我尝试以特定形式获取提交按钮的jQuery对象(同一页面上有多个表单).
我设法获得了表单元素.它看起来像这样:
var curForm = curElement.parents("form");
Run Code Online (Sandbox Code Playgroud)
当前Element具有上下文HTMLInputElement.我尝试获取表单的相应提交元素的几种技术:
var curSubmit = curForm.find("input[type='submit']");
var curSubmit = $(curForm).find("input[type='submit']");
var curSubmit = curForm.find(":submit");
var curSubmit = $(curForm).find(":submit");
var curSubmit = $(curSubmit, "input[type='submit']");
Run Code Online (Sandbox Code Playgroud)
结果总是一样的(非常奇怪).我得到的结果与"curElement"相同.
那么如何才能获得正确的提交按钮?
SLa*_*aks 76
以下应该有效:
var submit = curElement.closest('form').find(':submit');
Run Code Online (Sandbox Code Playgroud)
jig*_*fox 17
这应该工作:
var curSubmit = $("input[type=submit]",curForm);
Run Code Online (Sandbox Code Playgroud)
编辑:注意'选择器中的缺失
使用普通的javascript(不依赖于jquery):
var curSubmit = curForm.querySelector('button[type="submit"]');
Run Code Online (Sandbox Code Playgroud)
由于 HTML5 提交按钮可能超出表单标签http://www.w3.org/TR/html-markup/input.submit.html#input.submit.attrs.form,您可以使用以下代码来查找它:
$(curElement.closest('form').get(0).elements).filter(':submit')
Run Code Online (Sandbox Code Playgroud)
这对我有用:
var curSubmit = $("input[type=submit]",this);
Run Code Online (Sandbox Code Playgroud)
其中,这意味着目前的形式提交
对于前。获取提交按钮的名称和所有提交的输入
$( "form" ).on( "submit", function( event ) {
event.preventDefault();
var data = $(this).serialize(); //all input variables
console.log(data); //print data in console
var submit = $("input[type=submit]",this).attr('name');
alert(submit); // name of submit button
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
70585 次 |
| 最近记录: |