我的javascript出现问题.这看起来很奇怪.这是正在发生的事情.我有一个表单,在用户提交之后,它调用一个函数(onsubmit事件)来验证提交的数据,如果有什么不好或者如果用户名/电子邮件已经在数据库中(使用此部分的ajax)它将返回false并使用DOM显示错误.这是下面的代码.有什么奇怪的,它只有在我使用空警报('')消息时才有效,没有它,它就行不通.谢谢您的帮助.
//////////////////////////////////////
function httpRequest() {
var xmlhttp;
if (window.XMLHttpRequest) {
// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp=new XMLHttpRequest();
} else if (window.ActiveXObject) {
// code for IE6, IE5
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
} else {
alert("Your browser does not support XMLHTTP!");
}
return xmlhttp;
}
function validateRegForm(reg) {
var isValidForm = true;
var warningIcon = "";//for later in case we want to use an icon next to warning msg
with(reg) {
var regFormDiv = document.getElementById("registration_form");
//Check if dynamic div exist, …
Run Code Online (Sandbox Code Playgroud) 我是一个初学javascript程序员.我正在尝试创建类似于Lightbox 2的东西,但更简单.我想从头开始自己做的唯一原因是我可以学习.但是,我一直被困在显示图像的最后一个关键部分.我相信问题在于我尝试使用onclick并赋值给匿名函数:elem [i] .onclick = function(){liteBoxFocus(imgSource,imgTitle); return false;}; .如果您运行我的代码并尝试点击谷歌徽标,它将调出雅虎徽标和标题,而不是谷歌的徽标和标题.但是,当你点击雅虎徽标它工作正常,所以似乎匿名函数只适用于最后一个循环.提前致谢!!!
为方便起见,我将整个CSS/JS/XHTML放在一个页面中.
<html> <head> <title>Erik's Script</title> <style type="text/css"> #liteBoxBg, #liteBox { display: none; } #liteBoxBg { background-color: #000000; height: 100%; width:100%; margin:0px; position: fixed; left:0px; top: 0px; filter:alpha(opacity=80); -moz-opacity:0.8; -khtml-opacity: 0.8; opacity: 0.8; z-index: 40; } #liteBox { background-color:#fff; padding: 10px; position:absolute; top:10%; border: 1px solid #ccc; width:auto; text-align:center; z-index: 50; } </style> <script type="text/javascript"> window.onload = start; function start(){ var imgTitle = "No title"; var imgSource; var elem = document.getElementsByTagName("a"); …
在类似下面的代码的情况下,您将如何访问匿名函数中的变量值?我想返回filterData的bool值(xmlhttp.responseText,thisForm); 这将是主checkAvailable函数的布尔值.提前致谢.
function checkAvailable(thisForm) {
var xmlhttp = httpRequest();
var isValid = true;
var un = document.getElementById('u_username').value;
var email = document.getElementById('u_email').value;
xmlhttp.onreadystatechange = function(isValid) {
if (xmlhttp.readyState == 4) {
//I WANT TO ACCESS THIS isValid VARIABLE FROM MAIN FUNCTION checkAvailable
isValid = filterData(xmlhttp.responseText, thisForm);
}
}
xmlhttp.open("GET","profile_fetch_reg_info.php?do=available&un="+un+"&email="+email+"",true);
xmlhttp.send(null);
return isValid;
}
Run Code Online (Sandbox Code Playgroud)
我现在的方式
function validateRegForm(thisForm) {
var isValid = true;
var warningIcon = "";//for later in case we want to use an icon next to warning msg
checkAvailable(thisForm, function(isValid) { …
Run Code Online (Sandbox Code Playgroud)