button按下JS验证是否为空!

JiaoPengJay 2011-01-06 09:37:58
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则执行该方法。
...全文
759 26 打赏 收藏 转发到动态 举报
写回复
用AI写文章
26 条回复
切换为时间正序
请发表友善的回复…
发表回复
小妹917 2011-01-06
  • 打赏
  • 举报
回复
最简单的js写法:
$(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;
}
}
gongjie416 2011-01-06
  • 打赏
  • 举报
回复
都用后台判断,不用JS
JiaoPengJay 2011-01-06
  • 打赏
  • 举报
回复
谢谢大家的回答,除了谢谢再次祝福大家新年快乐,幸福。
JiaoPengJay 2011-01-06
  • 打赏
  • 举报
回复
[Quote=引用 20 楼 qq346127416 的回复:]
JScript code

<script type="text/javascript">
function check() {
var result = false;
if (document.getElementById("txtContact").value.trim() == "") {
……
[/Quote]
谢谢你这么仔细的回答,谢谢我的问题解决啦!
happy664618843 2011-01-06
  • 打赏
  • 举报
回复
useBehaviorSUmbit设置下看行不
JiaoPengJay 2011-01-06
  • 打赏
  • 举报
回复
[Quote=引用 19 楼 hu0336 的回复:]
还有,你下面的cs代码有误
protected void btnOK_Click(object sender, EventArgs e)
{
Response.Write("<script>alert('后台')<script>");
}

script的结束标签少"/"
[/Quote]
谢谢你问题解决啦!是我的大意script的结束标签少"/",再次谢谢!
qq346127416 2011-01-06
  • 打赏
  • 举报
回复

<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);
}


经测试 完全可以
hu0336 2011-01-06
  • 打赏
  • 举报
回复
还有,你下面的cs代码有误
protected void btnOK_Click(object sender, EventArgs e)
{
Response.Write("<script>alert('后台')<script>");
}

script的结束标签少"/"
hu0336 2011-01-06
  • 打赏
  • 举报
回复
在七楼代码下面的
return true;
下面再加句
alert("我跑到底了");
看看这句alert会不会弹出来,弹不出来说明js有误,既然返回true了没有理由不执行后台的
JiaoPengJay 2011-01-06
  • 打赏
  • 举报
回复
[Quote=引用 16 楼 wangting0613 的回复:]
以上的都可以试试,,,
[/Quote]
说真的以上的我都试过的,真的
wangting0613 2011-01-06
  • 打赏
  • 举报
回复
以上的都可以试试,,,
JiaoPengJay 2011-01-06
  • 打赏
  • 举报
回复
[Quote=引用 14 楼 qq346127416 的回复:]
不要写 OnClientClick="return checkData()" 。。

后台 page_load 事件里写
BtnOK.Attributes.Add("onclick","return checkData();");
[/Quote]
这个不行的!
qq346127416 2011-01-06
  • 打赏
  • 举报
回复
不要写 OnClientClick="return checkData()" 。。

后台 page_load 事件里写
BtnOK.Attributes.Add("onclick","return checkData();");
JiaoPengJay 2011-01-06
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 hu0336 的回复:]
你可以在各个if下面放alert进行调试就知道哪里出错了,还有你下面的
document.getElementById("txtMobile").focus();
document.getElementById("txtContact").focus();

这两句有错,ID不对,ClientID,和你判断时候的一样

应写成

JScript code

function c……
[/Quote]
你这个方法是对的,要是JS返回false则不刷新页面,问题又来啦,返回true的话它不执行后台的btnOK_Click这个事件啦!
porschev 2011-01-06
  • 打赏
  • 举报
回复

JS里用一个if...else if else

else里再return true

ycproc 2011-01-06
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 hu0336 的回复:]

你可以在各个if下面放alert进行调试就知道哪里出错了,还有你下面的
document.getElementById("txtMobile").focus();
document.getElementById("txtContact").focus();

这两句有错,ID不对,ClientID,和你判断时候的一样

应写成
JScript code

function che……
[/Quote]

最后 return true;

wuyq11 2011-01-06
  • 打赏
  • 举报
回复
function 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;
}

zwj000 2011-01-06
  • 打赏
  • 举报
回复
function checkData() {
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()">试下
porschev 2011-01-06
  • 打赏
  • 举报
回复
你怎么认为是刷新页面了?

弹的提示框?

hu0336 2011-01-06
  • 打赏
  • 举报
回复
你可以在各个if下面放alert进行调试就知道哪里出错了,还有你下面的
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;
}


加载更多回复(6)

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧