JQuery得到了形式和形式方法

时间:2013-06-20 13:29:24

标签: javascript jquery html-form

我喜欢这个

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

首先我要检查是否检查了任何复选框,如果是,我可以提交表格。但问题是形成,形式方法和形式目标。如何获取并提交它们

5 个答案:

答案 0 :(得分:8)

要获取表单的操作或方法属性,您可以尝试以下内容:

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

答案 1 :(得分:1)

希望这有助于找到解决问题的想法

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

答案 2 :(得分:0)

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

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

答案 3 :(得分:0)

CREATE FUNCTION `test.xx.x_to_y_Id`(ID INT64)
RETURNS INT64

    SELECT CASE 
  WHEN CAST(FLOOR(ID/POWER(CAST(2 AS INT64),38)) AS INT64) & 3 = 0
    THEN ID & CAST(12345678 AS INT64)
    ELSE ID END

Syntax error: Expected "(" or string literal but got keyword SELECT at [4:9]

答案 4 :(得分:0)

我遇到了这个问题,在网上搜索后我找不到正确的答案。终于,我意识到它是如此简单。

当您在 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 使用相同的内容。