JQuery get formaction and formmethod

JQuery get formaction and formmethod

本文关键字:formmethod and formaction get JQuery      更新时间:2023-09-26

我有一个像这样的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>

和javascript

function popisgolubova_radiobutton(element)
{
    alert($(element).find("[formaction]").val());
    var popisgolubova_radiobutton=$("input[name=RadioGroup1]").is(":checked");
    if(popisgolubova_radiobutton==false)
    {
        alert("nop");
    }
    else
    {
        $("form#popisgolubova_form").submit();
    }   
}

首先,我要检查是否有复选框被选中,如果是,我可以提交表单。但问题在于格式、格式方法和格式目标。如何获取它们并提交它们

要获取表单的action或method属性,您可以尝试如下操作:

$(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'));
});

问题是关于

https://developer.mozilla.org/en-US/docs/Web/HTML/Element/button attr-formaction

…这是重写

的一种方法

https://developer.mozilla.org/en-US/docs/Web/HTML/Element/form attr-action

单击正确设置的提交按钮。你需要检查的地方是在提交的时候——当你确定东西确实被提交的时候。

你用来提交的按钮被存储为:focus——这似乎并没有被存储在事件对象中。

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

我有这个问题,搜索网页后我找不到合适的答案。最后,我意识到它是如此简单。

当你在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使用同样的方法