當在此代碼中單擊提交按鈕而名稱字段中沒有任何內容時,validate()函數應該啓動並說「此字段是必需的」。這工作正常,直到我添加服務器端表單標記。一旦這個標籤在那裏(我將需要它在頁面上的其他事情,validate()函數似乎根本不運行,因爲頁面立即做回發,其中validate()函數阻止表單提交時驗證失敗服務器端<form>標記防止jQuery驗證插件驗證
下面的代碼是非工作代碼如果我拿出行和最後一個關閉表單標記(標記,它的工作 - 它驗證,顯示「此字段是必需的」,併成功地阻止表單從
所以加載。我的問題是,爲什麼這不能與服務器端表單標籤工作?
<!DOCTYPE html>
<html>
<head>
<script src="http://code.jquery.com/jquery-latest.js"></script>
<script type="text/javascript" src="http://jzaefferer.github.com/jquery-validation/jquery.validate.js"></script>
<script type="text/javascript">
$(document).ready(function() {
$("#nameForm").validate();
});
</script>
</head>
<body>
<form id="form1" runat="server">
<form id="nameForm" method="get" action="">
<p>
<label for="cname">Name</label>
<em>*</em>
<input id="cname" name="name" size="25" class="required" minlength="2" />
</p>
<p>
<input class="submit" type="submit" value="Submit"/>
</p>
</form>
</form>
</body>
</html>
你有兩種形式,這是不正確的 – 2013-04-10 13:13:36
ASP.NET不指定你只能有一個服務器端表單嗎?或者是否也會包含內部表單,因爲它位於服務器表單內? – 2013-04-10 13:20:08
@MarkGladstone你可以在一個頁面上擁有多個表單,你不能擁有*嵌套*表單(HTML標準)......並且你不能有'runat = server'的多個表單。 – MikeSmithDev 2013-04-10 13:33:51