Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/398.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript JQuery get formaction和formmethod_Javascript_Jquery_Forms - Fatal编程技术网

Javascript JQuery get formaction和formmethod

Javascript JQuery get formaction和formmethod,javascript,jquery,forms,Javascript,Jquery,Forms,我有一个像这样的a <form id="popisgolubova_form"> <input name="pregledaj" type="button" formaction="uredigoluba.php" formmethod="post" formtarget="_self" value="pregledaj" class="button" onclick="popisgolubova_radiobutton(this)"> <input

我有一个像这样的a

<form id="popisgolubova_form">
    <input name="pregledaj" type="button" formaction="uredigoluba.php" formmethod="post" formtarget="_self" value="pregledaj" class="button" onclick="popisgolubova_radiobutton(this)">
    <input name="rodovnik" type="button" formaction="rodovnik.php" formmethod="post" formtarget="_blank" value="rodovnik" class="button" onclick="popisgolubova_radiobutton()">
    <input name="podaci" type="button" value="poodaci" formaction="podaciogolubu.php" formmethod="post" formtarget="_blank" class="button" onclick="popisgolubova_radiobutton()">
</form>

首先,我要检查是否选中了任何复选框,如果是,我可以提交表单。但问题在于形式、形式方法和形式目标。如何获取并提交它们要获取表单的操作或方法属性,可以尝试以下操作:

$(function() { 
    var action = $("#formid").attr('action'),
        method = $("#formid").attr('method');
}); 

希望这能帮助你找到解决问题的方法

<form id="popisgolubova_form">
<input name="pregledaj" type="button" formaction="uredigoluba.php" formmethod="post" formtarget="_self" value="pregledaj" class="button postForm"/>
</form>

$(document).on('click', '.postForm', function () {

$('#popisgolubova_form').attr('action', $(this).attr('formaction'));
$('#popisgolubova_form').attr('method', $(this).attr('formmethod'));
$('#popisgolubova_form').attr('formtarget', $(this).attr('formtarget'));
});

$(文档).on('click','.postForm',函数(){
$('popisgolubova_form').attr('action',$(this.attr('formaction'));
$('popisgolubova_form').attr('method',$(this.attr('formmethod'));
$('popisgolubova_form').attr('formtarget',$(this.attr('formtarget'));
});

所以问题是关于不幸命名的

…这是一种超越

每次单击一个正确设置的提交按钮。你想要检查的地方是在提交时——当你确定事情确实在提交时

您用来提交的按钮存储为:focus-此时似乎不会以其他方式存储在事件对象中

$('form').on("submit", function(event) {
  if( $(':focus').is('[formaction]') ) {
    console.warn($(':focus').attr('formaction'));
    }

  if( $(':focus').is('[formtarget]') ) {
    console.warn($(':focus').attr('formtarget'));
    }
  });

我有这个问题,在网上搜索后,我找不到一个正确的答案。最后,我意识到这很简单

当您在
form.submit
上添加事件时,您有一个包含
e.originalEvent.submitter
的事件参数,只需按如下方式使用它:

$('form').submit(function(e){
    var url = form.attr('action');
    if (e.originalEvent.submitter) {
        var frmAction = $(e.originalEvent.submitter).attr('formaction');
        if (frmAction)
            url = frmAction;
    }
    ,.....
});

您也可以对
formmethod
使用相同的内容。

您的html标记错误,复选框在哪里?听起来像是
html
来自另一个页面,而“script”来自另一个页面。我省略了复选框,因为它可以正常工作,所以我只省略了它们。我需要答案如何得到那个formaction我不确定它是否能工作,因为我需要从那个按钮得到formaction和formmethod,而不是从整个表单
if( $(':focus').is('[formaction]') ) {
    console.log($(':focus').attr('formaction'));
}
$('form').submit(function(e){
    var url = form.attr('action');
    if (e.originalEvent.submitter) {
        var frmAction = $(e.originalEvent.submitter).attr('formaction');
        if (frmAction)
            url = frmAction;
    }
    ,.....
});