我的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)