我正在使用jquery UI模式彈出窗口顯示用戶登錄窗體。 該腳本在窗體周圍添加html元素來構建彈出窗口。在回發上的輸入是空的
當我提交登錄表單 - 文本框在後面的代碼中似乎是空的,即使我已經輸入了它的值。
我認爲這是因爲輸入從原始位置移動,因此代碼以某種方式驗證請求。
問題是:有沒有辦法讓值通過任何方式?或者禁用此驗證?代碼
例子:
HTML:
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="UI-login.aspx.cs" Inherits="tests_UI_login" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<script src="/js/jquery-1.6.4.min.js" type="text/javascript"></script>
<script src="/js/jquery-ui-1.8.8.custom.min.js" type="text/javascript"></script>
<link href="/css/custom-theme/jquery-ui-1.8.16.custom.css" rel="stylesheet" type="text/css" />
<title></title>
</head>
<body>
<form id="form1" runat="server">
<asp:ScriptManager ID="ScriptManager1" runat="server">
</asp:ScriptManager>
<script type="text/javascript">
Sys.Application.add_load(function (sender, args) {
// Dialog
$('#loginDialog').dialog({
autoOpen: true,
width: 600,
resizable: false,
modal: true,
show: 'slide',
hide: 'slide'
});})
</script>
<div id="loginDialog">
<asp:TextBox ID="txtEmail" runat="server"></asp:TextBox>
<asp:LinkButton ID="btnLogin" runat="server" onclick="btnLogin_Click1">Login</asp:LinkButton>
</div>
</form>
</body>
</html>
C#:
public partial class tests_UI_login : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
}
protected void btnLogin_Click1(object sender, EventArgs e)
{
string email = txtEmail.Text; //Here the value is empty
}
}
很好的解釋,但它會更好看孤立的代碼和任何其他相關的代碼... – xandercoded 2012-01-01 15:13:45
你在做任何與JS端輸入元素?另請檢查您的服務器端的Request.Form。 – dotnetstep 2012-01-01 15:17:55
@Xander剛剛發佈了一個代碼的例子... – jekcom 2012-01-01 20:28:59