function CheckSubmit() {
var txtTitle = document.getElementById("ContentPlaceHolder1_txtTitle");
var txtContext = document.getElementById("ContentPlaceHolder1_txtContext");
if (trim(txtTitle.value) == "") {
alert("请输入公告标题!");
txtTitle.focus();
return false;
}
if (trim(txtContext.value) == "") {
alert("请输入公告内容!");
txtContext.focus();
return false;
}
return true;
}<asp:Button ID="btnAdd" runat="server" Text="保 存" class="searchBtn" OnClientClick="return CheckSubmit()" OnClick="btnAdd_Click" />
var txtTitle = document.getElementById("ContentPlaceHolder1_txtTitle");
var txtContext = document.getElementById("ContentPlaceHolder1_txtContext");
if (trim(txtTitle.value) == "") {
alert("请输入公告标题!");
txtTitle.focus();
return false;
}
if (trim(txtContext.value) == "") {
alert("请输入公告内容!");
txtContext.focus();
return false;
}
return true;
}<asp:Button ID="btnAdd" runat="server" Text="保 存" class="searchBtn" OnClientClick="return CheckSubmit()" OnClick="btnAdd_Click" />
var txtTitle = document.getElementById("ContentPlaceHolder1_txtTitle");
var txtContext = document.getElementById("ContentPlaceHolder1_txtContext");
if (trim(txtTitle.value) == "") {
alert("请输入公告标题!");
txtTitle.focus();
alert("false");
return false;
}
if (trim(txtContext.value) == "") {
alert("请输入公告内容!");
txtContext.focus();
alert("false");
return false;
}
alert("true");
return true;
}
输出看看提示是怎么样的?
function trim(stringToTrim) {return stringToTrim.replace(/^\s+|\s+$/g,"");}
function trim(strname) {
return strname.replace(/(^\s*)|(\s*$)/g, "");
}
我自己写的去空格,这个没问题,if能进入
把你的return true;
加到else里面试试
function CheckSubmit() {
var txtTitle = document.getElementById("ContentPlaceHolder1_txtTitle");
var txtContext = document.getElementById("ContentPlaceHolder1_txtContext");
if (txtTitle.value == "") {
alert("请输入公告标题!");
txtTitle.focus();
return false;
}
if (txtContext.value == "") {
alert("请输入公告内容!");
txtContext.focus();
return false;
}
return true;
}
去掉trim函数
var txtContext = document.getElementById("ContentPlaceHolder1_txtContext");正确的写法应该这样写
var txtTitle = document.getElementById("<%=txtTitle.ClientID%>");
var txtContext = document.getElementById("<%=txtContext.ClientID%>");如果上面txtTitle 的值没错,应该是没问题的
function CheckSubmit() {
var bl = true;
var txtTitle = document.getElementById("ContentPlaceHolder1_txtTitle");
var txtContext = document.getElementById("ContentPlaceHolder1_txtContext");
if (trim(txtTitle.value) == "") {
alert("请输入公告标题!");
txtTitle.focus();
bl = false;
}
if (trim(txtContext.value) == "") {
alert("请输入公告内容!");
txtContext.focus();
bl = false;
}
return bl;
}结果两个if都能进入,可以肯定的是bl绝对是false,但是按钮还是提交了,晕啊,这个问题困扰了一天了。
return this.replace(/(^\s*)|(\s*$)/g, "");
}
function CheckSubmit() {
var txtTitle = document.getElementById("ContentPlaceHolder1_txtTitle");
var txtContext = document.getElementById("ContentPlaceHolder1_txtContext");
if (txtTitle.value.trim() == "") {
alert("请输入公告标题!");
txtTitle.focus();
return false;
}
if (txtContext.value.trim() == "") {
alert("请输入公告内容!");
txtContext.focus();
return false;
}
return true;
}
这样就OK了、
再报错你自己哭去吧
function CheckSubmit() {
if (1 == 1) {
return false;
}
else {
return true;
}
}
结果提交了,我真想吐血
你在浏览器源代码下查看下你的submit按扭上的onclick=""里面是怎么回事
你在浏览器源代码下查看下你的submit按扭上的onclick=""里面是怎么回事
<div class="contentBox" id="divAdd" style="display: none;">
<h3 class="title">
<span class="more"></span><b id="newUser">发布公告</b></h3>
<div class="neirong">
<table cellspacing="0" border="0" class="tableBox">
<tbody>
<tr>
<td align="right" width="18%">
<asp:Label ID="lblid" runat="server" Visible="False"></asp:Label>
标 题:
</td>
<td align="left">
<asp:TextBox ID="txtTitle" runat="server" Width="421" class="inputText" MaxLength="30"></asp:TextBox>
<span class="red">*</span>
</td>
<td width="32%" align="left">
<asp:Label ID="Label1" runat="server" Text=" "></asp:Label>
</td>
</tr>
<tr>
<td align="right" width="18%">
内 容:<br />
<br />
<br />
<br />
<br />
</td>
<td align="left">
<asp:TextBox ID="txtContext" runat="server" Height="190px" TextMode="MultiLine" Width="421px"
class="inputText" MaxLength="300"></asp:TextBox>
<span class="red"> *</span>
</td>
<td width="32%" align="left">
</td>
</tr>
<tr>
<td align="right" width="18%">
备 注:
</td>
<td align="left">
<asp:TextBox ID="txtRe" runat="server" Width="421" class="inputText"></asp:TextBox>
</td>
<td align="left" width="32%">
</td>
</tr>
<tr>
<td colspan="3">
<label>
<asp:Button ID="btnAdd" runat="server" Text="保 存" class="searchBtn" OnClientClick="javascript:return CheckSubmit();"
OnClick="btnAdd_Click" />
</label>
</td>
</tr>
</tbody>
</table>
</div>
</div>
<!--新增通讯录结束-->
var bl = true;
var txtTitle = document.getElementById("ContentPlaceHolder1_txtTitle");
var txtContext = document.getElementById("ContentPlaceHolder1_txtContext");
if (trim(txtTitle.value) == "") {
alert("请输入公告标题!");
txtTitle.focus();
bl = false;
}
if (trim(txtContext.value) == "") {
alert("请输入公告内容!");
txtContext.focus();
bl = false;
}
return bl;
}function CheckSubmit() {
if (1 == 1) {
return false;
}
else {
return true;
}
}//去空格
function trim(strname) {
return strname.replace(/(^\s*)|(\s*$)/g, "");
}
<div class="contentBox" id="divAdd" style="display: none;">
<h3 class="title"> <span class="more"></span><b id="newUser">发布公告</b></h3>
<div class="neirong">
<table cellspacing="0" border="0" class="tableBox">
<tbody>
<tr>
<td align="right" width="18%">
标 题:
</td> <td align="left">
<input name="ctl00$ContentPlaceHolder1$txtTitle" type="text" maxlength="30" id="ContentPlaceHolder1_txtTitle" class="inputText" style="width:421px;" />
<span class="red">*</span>
</td>
<td width="32%" align="left">
<span id="ContentPlaceHolder1_Label1"> </span>
</td>
</tr> <tr>
<td align="right" width="18%">
内 容:<br />
<br />
<br />
<br />
<br />
</td>
<td align="left">
<textarea name="ctl00$ContentPlaceHolder1$txtContext" rows="2" cols="20" id="ContentPlaceHolder1_txtContext" class="inputText" style="height:190px;width:421px;">
</textarea>
<span class="red"> *</span>
</td>
<td width="32%" align="left">
</td>
</tr>
<tr>
<td align="right" width="18%">
备 注:
</td>
<td align="left">
<input name="ctl00$ContentPlaceHolder1$txtRe" type="text" id="ContentPlaceHolder1_txtRe" class="inputText" style="width:421px;" /> </td>
<td align="left" width="32%">
</td>
</tr>
<tr>
<td colspan="3">
<label>
<input type="submit" name="ctl00$ContentPlaceHolder1$btnAdd" value="保 存" onclick="javascript:return CheckSubmit();" id="ContentPlaceHolder1_btnAdd" class="searchBtn" /> </label>
</td>
</tr>
</tbody>
</table>
</div>
</div>
<!--新增通讯录结束-->
首先你有没有试过去掉所有JS代码,直接return false,如下:
<asp:Button ID="btnAdd" runat="server" Text="保 存" class="searchBtn" OnClientClick="return false;" OnClick="btnAdd_Click" />
如果上述都不行,还讨论什么JS?
你要分析其他js导致的问题。其他js出错导致下面的代码错误的。
你使用Firefox的错误控制台很快就能看到错误点
刚出炉的群,深圳C#程序员请加QQ群:77234575
function trim(strname) {
return strname.replace(/[ ]/g, "");
}这样试下。。
var txtTitle = document.getElementById("txtTitle");
var txtContext = document.getElementById("txtContext");另外,把trim()函数去掉先
$("#btnAdd").click(function(){
//里边写上需要执行的内容
});
然后去掉你标签里边的那个onclientclick=····就可以了,这个方法就解决了这个问题,我同学的毛病也是这个方法解决的,但是关于LZ说的为什么onclientclick不可以,我就不知道,我才刚刚开始学,不知道原理,能想出这个办法来,已经让我绞尽脑汁了,如果LZ只是为了解决问题,那就可以了,如果想知道为什么你的不可以,那就去请教高手们吧
private void Page_Load(object sender, System.EventArgs e)
{
// 在此处放置用户代码以初始化页面
if(!this.IsPostBack)
{
btnAdd.Attributes.Add("OnClick","javascript:return CheckSubmit();");
}}