我在asp.net按钮客户端点击上调用javascript函数,并希望阻止回发。功能有效,但不会停止回发。我的Javascript是:
function User2Check()
{
var user2id=document .getElementById("txtP2UserName");
var user2password=document .getElementById("txtP2Password");
if(user2id.value=='' & user2password.value!='')
{
alert("User name is required");
user2id=document .getElementById("txtP2UserName").foucs();
e.preventDefault();
return false;
}
if(user2id.value!='' & user2password.value=='')
{
alert("Password is required");
user2id=document .getElementById("txtP2UserPassword").foucs();
e.preventDefault();
return false;
}
}
我称这个函数是:
<asp:Button runat="server" ID="btnSubmit" OnClientClick="return User2Check();" TabIndex="12" Text="Submit" onclick="btnSubmit_Click" />
plz指南。
答案 0 :(得分:1)
你的javascript需要一个参数,但是来自按钮的OnClientClick的调用没有参数。我认为,因为e为null,函数在返回false之前终止或返回,但由于focus()
调用是在调用e之前的任何内容之前,函数似乎正在工作。
答案 1 :(得分:1)
您应该使用&&
代替&
if(user2id.value!='' && user2password.value=='')
AND:函数需要一个参数,但是你没有参数调用
你可以这样做
function User2Check(e)
{
var user2id=document .getElementById("txtP2UserName");
var user2password=document .getElementById("txtP2Password");
if(user2id.value=='')
{
alert("User name is required");
user2id=document .getElementById("txtP2UserName").focus();
e.preventDefault();
return false;
}
if(user2password.value=='')
{
alert("Password is required");
user2id=document .getElementById("txtP2UserPassword").focus();
e.preventDefault();
return false;
}
return true;
}
<asp:Button runat="server" ID="btnSubmit" OnClientClick="return User2Check(event);" TabIndex="12" Text="Submit" onclick="btnSubmit_Click" />
答案 2 :(得分:1)
您使用以下代码并删除“e.preventDefault();”来自代码。
function User2Check()
{
var user2id=document .getElementById("txtP2UserName");
var user2password=document .getElementById("txtP2Password");
if(user2id.value=='')
{
alert("User name is required");
user2id=document .getElementById("txtP2UserName").focus();
return false;
}
if(user2password.value=='')
{
alert("Password is required");
user2id=document .getElementById("txtP2UserPassword").focus();
return false;
}
return true;
}
和服务器端代码 使用
<asp:Button runat="server" ID="btnSubmit" OnClientClick="return User2Check();" TabIndex="12" Text="Submit" onclick="btnSubmit_Click" />
答案 3 :(得分:0)
你拼错了foucs();
该错误后代码将停止运行。
答案 4 :(得分:-1)
由于您似乎没有返回true,请在函数前添加一个感叹号。例如:
!function(){
// Code here!
}