我的疑问是,当我把document.getElementById('myPassword').value);
放在函数validarDados中时它对应于valor,然后我需要另一个varriable,但是valor1不能正常工作,结果是echo(echo) $ valor1;)未定义(echo $ valor;工作正常)
<input type="password" id="myPassword" name="password" class="text" onblur="validarDados('myPassword', document.getElementById('myPassword').value);" />
<input type="password" id="passwordMatch" name="passwordMatch" class="text" onblur="validarDados('passwordMatch', document.getElementById('passwordMatch').value);" />
AJAX
var req;
function validarDados(campo, valor, valor1) {
if(window.XMLHttpRequest) {
req = new XMLHttpRequest();
}
else if(window.ActiveXObject) {
req = new ActiveXObject("Microsoft.XMLHTTP");
}
var url = "ajax/validacao.php?campo="+campo+"&valor="+valor +"&valor1="+valor1;
req.open("Get", url, true);
req.onreadystatechange = function() {
if(req.readyState == 1) {
document.getElementById('campo_' + campo + '').innerHTML = '<font color="gray">Verificando...</font>';
}
if(req.readyState == 4 && req.status == 200) {
var resposta = req.responseText;
document.getElementById('campo_'+ campo +'').innerHTML = resposta;
}
}
req.send(null);
}
在php文件中
$campo = $_GET['campo'];
$valor = $_GET['valor'];
$valor1 = $_GET['valor1'];
任何意识形态?
感谢
答案 0 :(得分:1)
您可以尝试使用JQuery:http://api.jquery.com/jQuery.ajax
关于您提供的代码,在通过ajax提交之前,valor1已经是未定义的。你的php中的回声是否未定义。
尝试在将valor1传递给ajax之前提醒它,这样你就会发现它是未定义的。
之所以未定义,是因为你的onblur =“(validarDados())”只有2个参数。要解决此问题,请添加第三个参数:
<input type="password" id="myPassword" name="password" class="text" onblur="validarDados('myPassword', this.value,'your3rdparam');" />
注意:我使用this.value而不是document.getElementById('myPassword')。value来节省空间,它是否与您使用的id具有相同的值。
您还可以尝试删除函数validarDados()中的第三个参数valor1。然后在该方法中创建一个变量valor1并指定其值。我想知道valor1的目的是什么?无论如何,我希望这可以成为一种帮助。
答案 1 :(得分:0)
您应该使用Prototype:http://www.prototypejs.org/
然后,使用Ajax.Request或Ajax.Updater,您只需要向PHP发送参数“login”和“password”。
new Ajax.Updater({success: "DIV ID HERE"}, "PROCESS.PHP", {
parameters: "login="+login+"&password="+password, method: "post"
});
至于你的代码,这里有一个错误:
<input type="password" id="myPassword" name="password" class="text" onblur="validarDados('myPassword', document.getElementById('myPassword').value);" />
缺少第3个参数“valor1”。