JQuery不会提交表单,因为它有多个表单按钮

时间:2016-06-14 00:21:20

标签: javascript php jquery function drupal

我对发展很陌生,想知道我是否可以从社区获得一些专业知识。

基本上发生的事情是我的表单包含多个输入按钮,每个按钮都有自己的功能,并且它们都按设计工作。这些都是用PHP创建的。我找到了一个名为jQuery-confirm的jQuery插件,为点击这些按钮的用户添加一个确认对话框。

我正在尝试定位特定按钮输入,以便在用户点击时,会出现一个确认框。如果他们单击“确定”,则该按钮应继续正常执行。

我尝试过使用

$( '#close-section-btn' ).click();

甚至

$( '#close-section-btn' ).submit();

但不起作用。当我选择表单级别$( 'form' ).submit();时,它只会刷新页面,但我想要的是定位按钮。我也看过return false和preventDefault,但没有运气。大多数指南都告诉我使用.submit(),但我只能定位不会执行按钮特定功能的表单级别。

这是我的以下jQuery代码:

$( '#close-section-btn' ).confirm({
    icon: 'fa fa-exclamation-triangle',
    title: 'Attention',
    confirm: function() {
       $( '#close-section-btn' ).click();
    },
    confirmButtonClass: 'btn-info',
    cancelButtonClass: 'btn-danger',
    autoClose: 'cancel|10000',
    backgroundDismiss: true
});

我的HTML:

<form action="/admin-training/session-details/1911" method="post" id="web-section-admin-form" accept-charset="UTF-8" novalidate="novalidate">
<input class="btn btn-primary form-submit" type="submit" id="close-section-btn" name="op" value="Close Session">
<input class="btn btn-danger form-submit" type="submit" id="cancel-section-btn" name="op" value="Cancel Session">
</form>

任何建议都将不胜感激!

3 个答案:

答案 0 :(得分:1)

您可以检查的一件事是,已为提交按钮控件分配了ID submitButton而不是类名。

JQuery selectors适用于两者,但您需要指定是基于#. sybmols选择类还是ID。

示例:

<button id=submitButton></button>

将通过JQuery选择如下:

$("#submitButton").on('click',function(e){

});

但是...

<button class=submitButton></button>

将选择如下:

$(".submitButton").on('click',function(e){

});

答案 1 :(得分:0)

.submit()提交表单。使用.on('submit')

答案 2 :(得分:0)

HTML:

@(elements : helper.FieldElements)

@import Helper.addClassValue

@input = @{ addClassValue(elements.input.toString(), "form-control") }

<div class="@if(elements.hasErrors) {error}">
    <label for="@elements.id">@elements.label</label>
    <div class="input">
        @Html(input)
        <span class="errors">@elements.errors.mkString(", ")</span>
        <span class="help">@elements.infos.mkString(", ")</span>
    </div>
</div>

JavaScript:

<form name="myform" id="myform" action="#" method="post">
   <label>User Name : </label>
   <input type="text" id="username" />
   <label>Age : </label>
   <input type="text" id="age" />
   <input type="submit" id="submitButton" value="Save" />
</form>