可能是Javascript的堆栈问题

可能是Javascript的堆栈问题,javascript,Javascript,我在用javascript验证html表单时遇到了一个奇怪的问题。我对这个很陌生,但我已经用其他语言编程了 因此,当你点击“Absenden”按钮时,js应该检查是否填写了所有必填字段,到目前为止,它应该只在必填字段留空时发出警告。因此,在这个简单的函数中,有一些找不到的错误:(这是senden.js) 不知怎的,邮件中的部分从未显示在报警框中。我不知道为什么。。。我检查了一千遍,看是否有打字错误。此外,chrome控制台无法识别任何错误。我不明白为什么它从来没有收到电子邮件通知,其余的都有效

我在用javascript验证html表单时遇到了一个奇怪的问题。我对这个很陌生,但我已经用其他语言编程了

因此,当你点击“Absenden”按钮时,js应该检查是否填写了所有必填字段,到目前为止,它应该只在必填字段留空时发出警告。因此,在这个简单的函数中,有一些找不到的错误:(这是senden.js)

不知怎的,邮件中的部分从未显示在报警框中。我不知道为什么。。。我检查了一千遍,看是否有打字错误。此外,chrome控制台无法识别任何错误。我不明白为什么它从来没有收到电子邮件通知,其余的都有效

我可以想象这个问题可能出现在这个页面上使用的另一个js函数中,因为它也会抓取email文本字段,但它会将值保存在另一个变量中,并且不会更改原始值,所以应该没有问题吧 (validate.js)

函数ValidateEmail()
{       
var x=新字符串;
x=document.getElementById(“Email”).value;
if(CheckSyntax(x)==false){EmailAlert();}
返回true;
}
函数EmailAlert()
{
警报('falsche电子邮件语法!(至少类似于:x@x.xx)');
}
函数检查语法(x)
{   
var at=x.indexOf(“@”);
变量点=x.indexOf(“.”);
var str3=(x.长度-点);
如果(x.length==0){返回false;}
如果(x.length>255){返回false;}

如果在链接到的HTML中(在处),则默认值的长度为非零:

<input id="Email" type="text" value=" " seize="40" onblur="ValidateEmail()">
function ValidateEmail()
{       
    var x = new String;
    x = document.getElementById("Email").value;

    if ( CheckSyntax(x) == false ) { EmailAlert(); }
    return true;

}

function EmailAlert()
{
alert('falsche E-Mail Syntax! (at least like:x@x.xx)');
}

function CheckSyntax(x)
{   
var at = x.indexOf("@");
var dot = x.indexOf(".");
var str3 = (x.length - dot);

if ( x.length == 0 ) {return false;} 

if( x.length > 255 ) {return false;}

if( at <= 1 || at != x.lastIndexOf("@") ) { return false; } 

if( dot <= ( at + 1 ) ) { return false; }

if( str3 < 2 || str3 > 4 ) { return false } 

return true;
}
function initTooltips()
{

var infodiv = document.createElement('DIV');
infodiv.id = 'info';
document.getElementsByTagName('body')[0].appendChild(infodiv);


var liste = document.getElementsByTagName('A'); 

for (var n=0; n<liste.length; n++) 
{
    if(liste[n].className.match( /tooltip/ ))
    {
        liste[n].onmousemove = showTip;
        liste[n].onmouseout =  hideTip;
    }
}


}
function showTip(ev)
{

if(!ev) { ev = window.event; }

var infotext = '';

for(var n=0; n<this.childNodes.length; n++)
{
    if(this.childNodes[n].tagName == "SPAN")
    {
        infotext = this.childNodes[n].innerHTML; break;
    }
} 

if(infotext.length)
{
    infodiv = document.getElementById('info');
    infodiv.innerHTML = infotext;

    infodiv.style.display = 'block';

    var scrollOffset = getScrollOffset();

    infodiv.style.top  = ev.clientY + scrollOffset[1] + 20 + 'px';
    infodiv.style.left  = ev.clientX + scrollOffset[0] + 20 + 'px';
}
}

function hideTip()
{ 
 document.getElementById('info').style.display = 'none'; 
}

function getScrollOffset()
{
  var x = 0, y = 0;
  if (self.pageYOffset)          // all except Explorer
  {
      x = self.pageXOffset;
      y = self.pageYOffset;
  }
  else if (document.documentElement && document.documentElement.scrollTop)
           // Explorer 6 Strict
  {
      x = document.documentElement.scrollLeft;
      y = document.documentElement.scrollTop;
  }
  else if (document.body)           // all other Explorers
  {
      x = document.body.scrollLeft;
      y = document.body.scrollTop;
  }
  return new Array(x,y);
}
<input id="Email" type="text" value=" " seize="40" onblur="ValidateEmail()">
if( E.length == 0 ){ error += 'Bitte geben Sie ihre E-Mail ein!\n'; }