我们正在尝试在jQuery对话框中创建一个注册表单,但是应该从文本框传输信息的按钮不会发送信息 - 这意味着我已经创建了c#函数,接收空白数据。我们的代码是:
这是提交信息的按钮(我们的提交按钮位于jQuery对话框div之外,它被隐藏;我们使用另一个js生成按钮作为快捷方式):
<asp:Button ID="btntwo" runat="server" style="display:none" Text="" OnClick="registerSubmit_Click" />
这是创建我们的jQuery对话框的代码(我们有javascript函数模拟我们的asp按钮的点击):
$('#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;
这是我们的问题:预期的结果是用户名变量将是用户输入的内容,而是此变量只接收空白数据“”。
答案 0 :(得分:4)
我相信jQuery对话框会占用你的HTML,将它包装在对话框容器中并将其附加到body元素,这意味着你的输入元素不再是你的形式,这就是为什么它们不被传输...只有表单中的输入元素被提交被发送回服务器,表单外的其他输入元素(包括其他形式)不是。
答案 1 :(得分:1)
以下是您的问题的解决方案: jQuery dialog form submission not POSTing values