【问题标题】:Jquery UI dialog to check form用于检查表单的 Jquery UI 对话框
【发布时间】:2013-09-24 02:45:43
【问题描述】:

我坐在这里,摆弄了多个不同的例子,但都没有奏效。我想做的是采用一个具有三个按钮(保存、取消和删除)的表单。删除按钮需要提出一个提示,询问用户是否确定。这是我到目前为止的代码...并尝试了多个示例...没有一个对我有用。

<form id="templateEdit" method="post" action="/admin/template/{{ var temp }}/{{ var page }}">
<div class="control right"><input type="submit" name="save" value="submit" /><input type="submit" name="cancel" value="cancel" /><input type="submit" name="delete" id="delete" value="delete" /></div>
<textarea name="editor" class="ckeditor">{{ var contents }}</textarea>
</form>

以下代码是在一个文档就绪的 Jquery 函数中:

$("#dialog-confirm").dialog({
                resizable: false,
                autoOpen: false,
                modal: true,
                buttons: {
                    "Yes": function () {
                        $('#templateEdit').off("submit").submit();
                        $(this).dialog("close");
                    },
                    "No": function () {
                        $(this).dialog("close");
                    }
                }
            });

            $('#templateEdit').submit(function (event) {
                event.preventDefault();
                $('#dialog-confirm').dialog('open');

            });

编辑:否按钮确实有效,但是按钮现在正在提交,但提交时没有发送任何帖子数据。

更新:这就是我完全解决问题的方法:

$(document).ready(function(){
    $("#dialog-confirm").dialog({
                resizable: false,
                autoOpen: false,
                modal: true,
                width: 500,
                buttons: {
                    "Yes": function () {
                        $("#templateEdit").attr('action', "/admin/templates.php?temp={{ var temp }}&page={{ var page }}&action=delete");
                        $('#templateEdit').get(0).submit();
                        $(this).dialog("close");
                    },
                    "No": function () {
                        $(this).dialog("close");
                    }
                }
            });

            $('#delete').click(function (event) {
                $("#dialog-confirm").dialog("open");
                event.preventDefault();
            });
        });

【问题讨论】:

    标签: javascript jquery forms jquery-ui form-submit


    【解决方案1】:

    您在选择器 temaplteEdit 而不是 templateEdit 中有拼写错误

    您需要将按钮重命名为submit

    <input type="submit" name="save" value="submit" />
    

    然后调用

    $('#templateEdit').get(0).submit();
    

    演示:Fiddle

    $('#templateEdit').off('submit').submit();
    

    演示:Fiddle

    更新:

    【讨论】:

    • 刚刚修复了这个问题,感谢您的展示。但是,这并没有从整体上解决问题...... no 按钮有效,但 Yes 不会继续提交表单。
    • 刚刚更改了我的输入按钮,现在表单提交有点工作......但我的 php 没有从提交按钮收集帖子数据。
    • @JamesRay 你可以使用浏览器的开发者工具检查发布请求数据吗?
    • 根据谷歌>检查元素>网络唯一的帖子数据是我的html页面。这是我在提交时遇到的错误:注意:未定义的索引:保存在第 43 行的 C:\Users\James\Desktop\Dropbox\htdocs\CMS\admin\templates.php 注意:未定义的索引:在 C:\ 中取消第 47 行的 Users\James\Desktop\Dropbox\htdocs\CMS\admin\templates.php 注意:未定义的索引:在第 49 行的 C:\Users\James\Desktop\Dropbox\htdocs\CMS\admin\templates.php 中删除
    • @JamesRay 那就是响应...你需要看headers标签下network...会有一个部分叫FormData..那是提交的数据到服务器
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-06-15
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多