function checkData() {
if (document.getElementById("<%= txtContact.ClientID %>").value == "") {
alert("联系人姓名不能为空!");
document.getElementById("txtContact").focus();
return false;
}
else {
return true;
} if (document.getElementById("<%= txtMobile.ClientID %>").value == "") {
alert("联系人手机号不能为空!");
document.getElementById("txtMobile").focus();
return false;
}
else {
return true;
}
}
<asp:Button ID="btnOK" runat="server" Text="提交数据" OnClientClick="return checkData()" OnClick="btnOK_Click" />
protected void btnOK_Click(object sender, EventArgs e)
{
Response.Write("<script>alert('后台')<script>");
}
我想要的是当点击‘提交数据’按钮后先执行JS“checkData()”如返回false则不执行后台的“btnOK_Click”也不刷新页面,如true则执行该方法。
if (document.getElementById("<%= txtContact.ClientID %>").value == "") {
alert("联系人姓名不能为空!");
document.getElementById("txtContact").focus();
return false;
}
else {
return true;
} if (document.getElementById("<%= txtMobile.ClientID %>").value == "") {
alert("联系人手机号不能为空!");
document.getElementById("txtMobile").focus();
return false;
}
else {
return true;
}
}
<asp:Button ID="btnOK" runat="server" Text="提交数据" OnClientClick="return checkData()" OnClick="btnOK_Click" />
protected void btnOK_Click(object sender, EventArgs e)
{
Response.Write("<script>alert('后台')<script>");
}
我想要的是当点击‘提交数据’按钮后先执行JS“checkData()”如返回false则不执行后台的“btnOK_Click”也不刷新页面,如true则执行该方法。
if (document.getElementById("<%= txtContact.ClientID %>").value == "") {
alert("联系人姓名不能为空!");
document.getElementById("txtContact").focus();
return false;
}
if (document.getElementById("<%= txtMobile.ClientID %>").value == "") {
alert("联系人手机号不能为空!");
document.getElementById("txtMobile").focus();
return false;
}
return true;
}
按钮本来就是先执行onClientClick事件的
document.getElementById("txtMobile").focus();
document.getElementById("txtContact").focus();这两句有错,ID不对,ClientID,和你判断时候的一样应写成function checkData() {
var Contact=document.getElementById("<%= txtContact.ClientID %>");
var Mobile=document.getElementById("<%= txtMobile.ClientID %>");
if (Contact.value == "") {
alert("联系人姓名不能为空!");
Contact.focus();
return false;
}
if (Mobile.value == "") {
alert("联系人手机号不能为空!");
Mobile.focus();
return false;
}
return true;
}
if (document.getElementById("txtContact").value == "") {
alert("联系人姓名不能为空!");
document.getElementById("txtContact").focus();
return false;
}
if (document.getElementById("txtMobile").value == "") {
alert("联系人手机号不能为空!");
document.getElementById("txtMobile").focus();
return false;
}
else {
return true;
}
}你可以在<form onsubmit="return checkData()">试下
if (document.getElementById("<%= txtContact.ClientID %>").value == "") {
alert("联系人姓名不能为空!");
document.getElementById("txtContact").focus();
return false;
}
if (document.getElementById("<%= txtMobile.ClientID %>").value == "") {
alert("联系人手机号不能为空!");
document.getElementById("txtMobile").focus();
return false;
}
return true;
}
最后 return true;
JS里用一个if...else if elseelse里再return true
BtnOK.Attributes.Add("onclick","return checkData();");
return true;
下面再加句
alert("我跑到底了");
看看这句alert会不会弹出来,弹不出来说明js有误,既然返回true了没有理由不执行后台的
protected void btnOK_Click(object sender, EventArgs e)
{
Response.Write("<script>alert('后台')<script>");
}script的结束标签少"/"
<script type="text/javascript">
function check() {
var result = false;
if (document.getElementById("txtContact").value.trim() == "") {
alert("联系人姓名不能为空!");
document.getElementById("txtContact").focus();
result = false;
return result;
}
else {
result = true;
} if (document.getElementById("txtMobile").value.trim() == "") {
alert("联系人手机号不能为空!");
document.getElementById("txtMobile").focus();
result = false;
}
else {
result = true;
}
return result;
} String.prototype.trim = function() {
return this.replace(/(^\s*)|(\s*$)/g, '');
} </script> <form id="form1" runat="server">
<div>
<asp:TextBox ID="txtContact" runat="server"></asp:TextBox>
<asp:TextBox ID="txtMobile"
runat="server"></asp:TextBox> <asp:Button ID="Button1" runat="server" Text="Button" onclick="Button1_Click" />
</div>
</form> protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
Button1.Attributes.Add("onclick", "return check()");
}
}
protected void Button1_Click(object sender, EventArgs e)
{
this.ClientScript.RegisterStartupScript(this.GetType(), "", "alert('执行后台!');", true);
}
经测试 完全可以
$(function(){
$("#btnOK").click(function () {
//得到文本框的值
var uname = $("#文本框的id").val();
if (uname == "") {
alert("对不起,用户名不能为空!");
return;
}
})
})
function checkData() {
if (document.getElementById("<%= txtContact.ClientID %>").value == "") {
alert("联系人姓名不能为空!");
document.getElementById("txtContact").focus();
return false;
}
else {
return true;
} if (document.getElementById("<%= txtMobile.ClientID %>").value == "") {
alert("联系人手机号不能为空!");
document.getElementById("txtMobile").focus();
return false;
}
else {
return true;
}
}