C# 如何防止javascript回发
实际上,该代码在firefox mozilla中运行良好,但在IE8中不起作用C# 如何防止javascript回发,c#,javascript,asp.net,C#,Javascript,Asp.net,实际上,该代码在firefox mozilla中运行良好,但在IE8中不起作用 <asp:Button ID="btnSubmit" runat="server" Text="Submit" CssClass="btnPrimary" OnClientClick="return doSubmit('this');" OnClick="btnSubmit_Click" /> <script type="text/javascript">
<asp:Button ID="btnSubmit" runat="server" Text="Submit" CssClass="btnPrimary" OnClientClick="return doSubmit('this');"
OnClick="btnSubmit_Click" />
<script type="text/javascript">
function doSubmit()
{
var ansLength = oDOM.body.innerText.trim().length;
if (ansLength == 0 && smielyPresent == -1)
{
alert("you cannot submit blank answer");
return false;
}
}
</script>
protected void btnSubmit_Click(object sender, EventArgs e)
{
// i am doing some stuff
}
函数doSubmit()
{
var ansLength=oDOM.body.innerText.trim().length;
if(ansLength==0&&smielyPresent==1)
{
警告(“您不能提交空白答案”);
返回false;
}
}
受保护的void btnsupmit\u单击(对象发送者,事件参数e)
{
//我正在做一些事情
}
在这里,我想在answerlength==0时防止回发代码>
但是当answer length==0
时,它会发出警报alert(“你不能提交空白答案”)
消息并发回服务器,io想阻止它吗?它不工作,因为你的javascript中有一个脚本错误
<asp:Button ID="btnSubmit" runat="server" Text="Submit" CssClass="btnPrimary" OnClientClick="return doSubmit('this');"
OnClick="btnSubmit_Click" />
<script type="text/javascript">
function doSubmit()
{
var ansLength = oDOM.body.innerText.trim().length;
if (ansLength == 0 && smielyPresent == -1)
{
alert("you cannot submit blank answer");
return false;
}
}
</script>
protected void btnSubmit_Click(object sender, EventArgs e)
{
// i am doing some stuff
}
<script type="text/javascript">
function doSubmit()
{
//I've removed the first equal sign
var ansLength = oDOM.body.innerText.trim().length;
if (ansLength == 0 && smielyPresent == -1) //typo on smielyPresent ?
{
alert("u can't submit blank answer")
return false;
}
}
</script>
函数doSubmit()
{
//我已经去掉了第一个等号
var ansLength=oDOM.body.innerText.trim().length;
if(ansLength==0&&smielyPresent==1)//smielyPresent上的打字错误?
{
警告(“你不能提交空白答案”)
返回false;
}
}
试试这个
<asp:Button ID="btnSubmit" runat="server" Text="Submit" CssClass="btnPrimary" OnClientClick="return doSubmit('this');"
OnClick="btnSubmit_Click" />
<script type="text/javascript">
function doSubmit()
{
var ansLength = oDOM.body.innerText.trim().length;
if (ansLength == 0 && smielyPresent == -1)
{
alert("you cannot submit blank answer");
return false;
}
}
</script>
protected void btnSubmit_Click(object sender, EventArgs e)
{
// i am doing some stuff
}
OnClientClick="doSubmit(this); return false;"
失踪“;”。。警报(“你不能提交空白答案”)它不起作用,甚至显示要回发的消息。实际上,这在firfox mozila中起作用,但在IE8yaa中不起作用。这在IE8中显示,之后它将回发。在IE8中返回false works。我自己也试过。为了缩小问题的范围,您是否可以删除OnClick并查看它是否仍然回发,或者是否将您的返回值从if子句中删除,并查看行为实际上我的问题是对的,我错误地添加了var=ansLength=oDOM.body.innerText.trim().length;所以你能再检查一下吗?老实说,我不确定。然而,在我正在工作的一个项目中,当返回false在如上所述的外部时,就会触发回发。它是在其他情况下触发的。我真的不明白为什么会观察到这种行为。OnClientClick位于图像按钮上。