【问题标题】:Asp form input field fails to pass the information from jQuery dialogAsp 表单输入字段无法从 jQuery 对话框传递信息
【发布时间】:2012-11-07 20:24:28
【问题描述】:

我们正在尝试在 jQuery 对话框中创建一个注册表单,但是应该从文本框中传输信息的按钮没有发送信息 - 这意味着我制作的 c# 函数接收空白数据。我们拥有的代码是:

这是提交信息的按钮(我们的提交按钮在jQuery对话框div之外,它是隐藏的;我们使用另一个js生成的按钮作为快捷方式):

<asp:Button ID="btntwo" runat="server" style="display:none"  Text="" OnClick="registerSubmit_Click" />

这是创建我们的 jQuery 对话框的代码(我们有模拟点击我们的 asp 按钮的 javascript 函数):

$('#Register').dialog(dialogOpts);
$.fx.speeds._default = 500;
$(function () {
    $("#Register").dialog({
        autoOpen: false,
        buttons: {
            Ok: function () {
                $("[id*=btntwo]").click();
                $('form').append('#Register');
            }
        },
        show: "blind",
        hide: "explode"
    });

这是我们用于输入字段的代码,位于我们的 jQuery 对话框中:

<asp:TextBox ID="username_textbox" runat="server" />

这是我们的 c# 函数,它从输入字段中获取数据,然后使用这些数据。

string username = username_textbox.Text;

这是我们的问题:预期结果是用户名变量将是用户输入的任何内容,但该变量只接收空白数据“”。

【问题讨论】:

  • 当您从您的 asp 按钮中删除 style="display:none" 并单击它时,您仍然会得到相同的行为吗?
  • 是的,那么按钮只是可见的,但仍然不起作用。

标签: javascript jquery asp.net html forms


【解决方案1】:

我相信 jQuery 对话框会获取您的 HTML 片段,将其包装在对话框容器中并将其附加到 body 元素,这意味着您的输入元素不再在您的表单中,这就是它们不会被传输的原因......只有表单中的输入元素被提交发送回服务器,表单外的其他输入元素(包括其他表单)则不发送。

【讨论】:

  • 好的,我明白了,但是我还能如何传输在文本框中输入的信息?
  • 好吧,您可以在确定按钮处理程序中添加一些代码,将整个对话框连同输入元素一起带回表单。简单的 $('form').append('#dialogID') 应该可以解决问题。
  • 好的,我按照你说的添加了它,它现在在 jQuery 对话框中,但仍然没有任何反应。我已经更新了第一篇文章,所以你现在可以看到它。
【解决方案2】:

以下是您的问题的解决方案: jQuery dialog form submission not POSTing values

【讨论】:

    猜你喜欢
    • 2013-03-12
    • 2010-11-03
    • 1970-01-01
    • 2012-09-05
    • 2013-02-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多