相关疑难解决方法(0)

Asp.Net MVC Ajax.BeginForm没有通过Ajax提交

我的表格如下

<div id="contact-form" class="hidden" title="Online Request Form">
    @Using (Ajax.BeginForm("Contact", "Main",
                          Nothing,
                          New AjaxOptions With {.UpdateTargetId = "status", .HttpMethod = "post"},
                          New With {.id = "contactUs"}))
        @<div>
            @Html.LabelFor(Function(m) m.Name)<br />
            @Html.TextBoxFor(Function(m) m.Name)<br />
            @Html.LabelFor(Function(m) m.Phone)<br />
            @Html.TextBoxFor(Function(m) m.Phone)<br />
            @Html.LabelFor(Function(m) m.Email)<br />
            @Html.TextBoxFor(Function(m) m.Email)<br />
            @Html.LabelFor(Function(m) m.Question)<br />
            @Html.TextAreaFor(Function(m) m.Question)<br />
            @Html.LabelFor(function(m) m.Security)<br />
            @Html.TextBoxFor(Function(m) m.Security)<br />
            <noscript>
                <input type="submit" name="submit" value="Ok" />
            </noscript>
            @Html.ValidationSummary("Oops, please correct the errors.")<span id="status">@TempData("status")</span>
        </div>
    End Using
</div>
Run Code Online (Sandbox Code Playgroud)

我在jQuery-UI模式窗口中打开它

<script>
    $(function () {

        // Open …
Run Code Online (Sandbox Code Playgroud)

asp.net-mvc ajax.beginform razor

14
推荐指数
1
解决办法
2万
查看次数

如果提交以编程方式启动,则不会触发提交事件

我有一个带有按钮的HTML表单:

<form action="/" method="post" id="MyForm">
<input type="hidden" name="Field1" value="Value1" />
<input type="hidden" name="Field2" value="Value2" />
<input type="submit" name="name" value="submit" />
</form>
Run Code Online (Sandbox Code Playgroud)

我有附加到Window的提交事件处理程序:

window.onsubmit = function()
{
    alert("Submit happening!");
};
Run Code Online (Sandbox Code Playgroud)

如果单击"提交"按钮,此事件处理程序将正常触发.但是,当从javascript以编程方式触发提交时,事件永远不会起作用:

$("#MyForm")[0].submit();
Run Code Online (Sandbox Code Playgroud)

如何在Javascript启动时捕获提交事件处理程序,而不是用户单击?我试图使用Jquery或AddEventListener订阅Form事件 - 不起作用.

html javascript forms jquery event-handling

11
推荐指数
2
解决办法
9719
查看次数

表单提交事件是不是捕获OnSelectedIndexChanged?

我有一个button和一个dropdownlst

在此输入图像描述

我有这个脚本:

$("form").submit(function (e)
    {
        $('#divOverlay').show();
        });
Run Code Online (Sandbox Code Playgroud)

我的目标 :

当表单提交时,我需要显示"加载div":

题 :

当我按下按钮时它显示div(灰色div闪烁一秒钟):

在此输入图像描述

但是当我在下拉列表中更改索引时:

<asp:DropDownList runat="server" OnSelectedIndexChanged="OnSelectedIndexChanged" AutoPostBack="True">
    <asp:ListItem Value="a"> a</asp:ListItem>
        <asp:ListItem Value="b">b</asp:ListItem>
</asp:DropDownList>
Run Code Online (Sandbox Code Playgroud)

它提交bUt我看到div:

在此输入图像描述

为什么不$("form").submit(function (e)捕获选定索引更改后发生的回发??

NB:

Fiddler将两个事件(按下按钮&&更改索引)显示为POST命令

该文件的结构是什么?(伪):

<html  >
<head>
 ...     
</head>
<body>
    <div id='divOverlay'>  
       ...
    </div>

        <form id="form1" runat="server"  >
            <asp:Button runat="server" Text="sssssss"/>
        <asp:DropDownList runat="server" OnSelectedIndexChanged="OnSelectedIndexChanged" AutoPostBack="True">
            ...
        </asp:DropDownList>

        </form>


        <script type="text/javascript">
            $(function()
                {
                    $("form").submit(function (e)
                    {
                            $('#divOverlay').show();
                    });
                });

        </script>
</body>
</html> …
Run Code Online (Sandbox Code Playgroud)

html javascript forms asp.net jquery

8
推荐指数
1
解决办法
743
查看次数

Rails - 如何让我的远程表单响应JS?

我有一个列出项目的页面.在每个项目下面,它列出了该项目的任何注释(注释是项目下的嵌套资源).

您可以在项目页面上添加新注释.当你这样做时,它正在重新加载整个页面,所以我想改变它以使用Ajax并只使用jQuery插入注释.

所以我将注释/ _form.html.erb改为使用:remote => true

<%= form_for([@item,@comment], :remote=>true) do |f| %>
Run Code Online (Sandbox Code Playgroud)

我在comments_controller中添加了一个format.js:

def create
  @comment = Comment.new(params[:comment])
  @comment.save

  respond_to do |format|
    format.js
    format.html { redirect_to items_path}
  end
end
Run Code Online (Sandbox Code Playgroud)

并创建了一个简单的注释/ create.js.erb来将新注释插入页面:

$("#comments").append("<%= j(render(@comment)) %>");
Run Code Online (Sandbox Code Playgroud)

但是,当我提交注释时(即使表单上有:remote => true),它会不断重新加载整个页面/忽略我的.js文件.

所以我从respond_to中删除了format.html(因为我不想使用该选项),但是它给了我4ms内完成406不可接受的错误(ActiveRecord:0.2ms)

如何让它留在当前页面并使用我的create.js回复?

jquery ruby-on-rails ruby-on-rails-3 ruby-on-rails-3.2

7
推荐指数
1
解决办法
9511
查看次数

Javascript e.preventDefault(); 不工作提交()

我在使用javascript提交表单时遇到问题 submit()

现场行动:https://jsfiddle.net/98sm3f3t/

HTML:

<form id="myForm" action="">
    First name: <input type="text" name="fname"><br>
    <button id="myButton" type="button">Submit form</button>
</form>
Run Code Online (Sandbox Code Playgroud)

JS :

document.getElementById("myButton").addEventListener("click", function() {

    document.getElementById("myForm").submit();

});

document.getElementById("myForm").addEventListener("submit", function(e) {

    e.preventDefault();

    alert("cancel submitting");

});
Run Code Online (Sandbox Code Playgroud)

它倾向于显示alert()和取消提交.

我的代码出了什么问题?

提前致谢...

javascript

2
推荐指数
3
解决办法
1982
查看次数

jQuery .submit问题

我对jQuery有一点问题:我已经.submit()在表单上定义了,当我通过单击提交按钮提交表单时,偶数触发器和事情工作顺利,但是,当我使用时document.forms[0].submit(),事件没有得到触发,但表格提交!! 有什么理由吗?我怎么能克服这个?

javascript jquery form-submit onsubmit

1
推荐指数
1
解决办法
4049
查看次数

如何在JavaScript中捕获form.submit()事件?

我使用JavaScript .submit()函数提交表单.

form.submit();
Run Code Online (Sandbox Code Playgroud)

但是当我使用addEventListener捕获我的提交事件时,它将无法正常工作.

form.addEventListener("submit", function(event){
    //codes
});
Run Code Online (Sandbox Code Playgroud)

我发现addEvenetListener函数只会侦听onsubmit事件而不是提交.在执行form.submit()时,是否有任何替代解决方案来调用我的函数?

ps:由于某些原因,我需要继续使用form.submit()来提交我的表单,而不是使用提交按钮.

html javascript

1
推荐指数
2
解决办法
3280
查看次数