在一个页面中,我有两个相同的HTML表单,一个是通过jquery动态生成的,一个是asp.net
。我已经在每个相同页面的点击按钮上添加了验证。
第一个按钮
var s = $(' <input type="button" ID="btnFrmSubmit" runat="server" Text="Submit" value="FrmSubmit" />');
$("#mainTbl").after(s);
第二个按钮
哪个在</asp:Panel>
<input name="btnFrmSubmitn" type="button" id="btnFrmSubmitn" runat="server" value="Submitn"/>
第一个jquery表单以
开头$(document).ready(function () {
$(document).on("click", "[id*=btnFrmSubmit]", function () {
alert("hi");
//validation Part
alert("v1");
});
});
第二个jquery表单以
开头$(function () {
$("#btnFrmSubmitn").click(function () {
alert("hi...");
//validation Part
alert("V2");
});
});
如果我点击第二个提交按钮btnFrmSubmitn
,问题就开启了 然后发生以下序列
1) alert("hi...");
2) alert("V2");
3) alert("hi");
4) alert("v1");
不应该发生 3)
和4)
序列,任何想法都可以解决这个问题。
答案 0 :(得分:1)
这一行:
$(document).on("click", "[id*=btnFrmSubmit]", function () {
选择ID中包含字符串'btnFrmSubmit'
的所有元素。如果您希望仅应用于第一个按钮,请完全选择该按钮的ID,而不是*
:
$(document).on("click", "[id=btnFrmSubmit]", function () {
或者,更简洁
$(document).on("click", "#btnFrmSubmit", function () {