在我的项目中,我正在检查用户在注册期间的电子邮件ID是否有效我使用的是Javascript。我在按钮单击并验证它时获取了文本框中的值,但在点击期间它显示的按钮 Microsoft JScript运行时错误:需要对象错误任何人都可以指出我的代码中出错的地方,
我的javascript函数是,
function mailcheck() {
var txt = document.getElementById("emailid").value;
if (txt != "") {
var at = "@"
var dot = "."
var lat = str.indexOf(at)
var lstr = str.length
var ldot = str.indexOf(dot)
if (txt.indexOf(at) == -1) {
alert("Invalid E-mail ID")
obj.focus()
return false
}
if (txt.indexOf(at) == -1 || txt.indexOf(at) == 0 || txt.indexOf(at) == ltxt) {
alert("Invalid E-mail ID")
obj.focus()
return false
}
if (txt.indexOf(dot) == -1 || txt.indexOf(dot) == 0 || txt.indexOf(dot) == lstr) {
alert("Invalid E-mail ID")
obj.focus()
return false
}
if (str.indexOf(at, (lat + 1)) != -1) {
alert("Invalid E-mail ID")
obj.focus()
return false
}
if (txt.substring(lat - 1, lat) == dot || txt.substring(lat + 1, lat + 2) == dot) {
alert("Invalid E-mail ID")
obj.focus()
return false
}
if (txt.indexOf(dot, (lat + 2)) == -1) {
alert("Invalid E-mail ID")
obj.focus()
return false
}
if (txt.indexOf(" ") != -1) {
alert("Invalid E-mail ID")
obj.focus()
return false
}
}
return true
}
答案 0 :(得分:2)
检查您的控件是否为"runat=server"
,如果是,则呈现的html控件名称应为:#ctl00_ContentPlaceHolderMain_emailid。
尝试更改此内容:
var txt = document.getElementById("emailid").value;
到此:
var txt = document.getElementById('<%=emailid.ClientID %>').value;
如果控件位于内容面板中,ClientID将为您提供全名。
另一方面,您访问了属性obj.focus()
,我无法在范围内看到 obj 。
答案 1 :(得分:2)
好像你指的是obj
对象(如obj.focus()
中所述),但没有声明它。这可能会导致错误。
另外,如果文字元素有runat="server"
- 您必须使用document.getElementById('<%= emailid.ClientID %>')
答案 2 :(得分:2)
由于您使用的是C#,因此您应该使用.NET生成的clientID
document.getElementById('<%= emailid.ClientID %>')
答案 3 :(得分:0)
您是否使用服务器端控件输入电子邮件地址?因为如果您在页面呈现时ID将会更改,那么您必须使用
document.getElementById('<%= emailid.ClientID%>')
答案 4 :(得分:0)
您正在混淆变量名称。 str和ltxt定义在哪里?
试试这个:
function mailcheck() {
var txt = document.getElementById("emailid").value;
if (txt != "") {
var at = "@"
var dot = "."
var lat = txt.indexOf(at)
var ltxt = txt.length
var ldot = txt.indexOf(dot)
console.log('yeah');
if (txt.indexOf(at) == -1) {
alert("Invalid E-mail ID")
obj.focus()
return false
}
if (txt.indexOf(at) == -1 || txt.indexOf(at) == 0 || txt.indexOf(at) == ltxt) {
alert("Invalid E-mail ID")
obj.focus()
return false
}
if (txt.indexOf(dot) == -1 || txt.indexOf(dot) == 0 || txt.indexOf(dot) == ltxt) {
alert("Invalid E-mail ID")
obj.focus()
return false
}
if (txt.indexOf(at, (lat + 1)) != -1) {
alert("Invalid E-mail ID")
obj.focus()
return false
}
return true;
}
return false;
}