我需要获取用于提交表单的按钮的id(使用jquery ajax)。 这是一个包含#"博客形式":
的表单 <button id="uploador" type="submit"> Upload an image</button>
这是用于使用ajax / jquery提交表单的按钮。目标是获得&#34; uploador&#34; id值
$( '.blog-form' ).on( 'submit', function( e ) {
e.preventDefault();
console.log(e);
//rest of code
这是jquery:
public function mainBundle() {
$myEvent = MyEvent();
$this->getContainer()->get('event_dispatcher')->addListener('my_test_event', $myEvent)
$data = $myEvent->getData;
}
我无法找到获取所点击按钮的ID的方法&#39; uploador&#39;在&#39; e&#39;事件。目标显示表单,而不是按钮。 去哪儿看?看了很多帖子,但大多数都要求查看目标,这不是解决方案。
答案 0 :(得分:1)
为您的按钮定义名称属性以获取表单元素。然后使用document.getAttribute()
获取按钮的ID。
HTML
<form method="post" class="blog-form" action="#t" enctype="multipart/form-data">
<button id="uploador" type="submit" name="upload"> Upload an image</button>
</form>
JS
var form = document.querySelector(".blog-form");
form.addEventListener('submit',function(){
var btn =this.elements["upload"];
//console.log(btn);
alert(btn.getAttribute('id'));
});
答案 1 :(得分:1)
您可以从事件中获得的表单中获取按钮的ID。
$( '.blog-form' ).on( 'submit', function( e ) {
e.preventDefault();
alert($(e.target).children("button[type='submit']").attr("id"));
});
答案 2 :(得分:0)
好吧,您可能想要使用全局js变量:
<script type="text/javascript">
var pushedButtonId = false;
</script>
下面再说:
<script type="text/javascript">
$('#uploador').on('click', function() {
pushedButtonId = $(this).attr('id');
});
$('.blog-form').on('submit', function(e) {
e.preventDefault();
console.log(e);
if (pushedButtonId === false) {
return; // The form wasn't submitted by hittig the button
}
//pushedButtonId variable has the button id
//rest of code
});
</script>