我有html代码:
<input type="text" id="email" onblur="<?php validate_email_input($email); ?>" />
现在我想显示while onblur:
function validate_email_input($email)
{
if(!prawidlowy_email($email)) {
throw new exception('<div id="#okno_bledu_rejestracji" style="background: #FBE3E4 url('.$errw.') no-repeat;background-position: 7px 7px;color:#E64D19;"><p>Kombinacja znaków w polu e-mail jest niepoprawna!</p></div>');
}
elseif(strlen($email) > 44) {
throw new exception('<div id="#okno_bledu_rejestracji" style="background: #FBE3E4 url('.$errw.') no-repeat;background-position: 7px 7px;color:#E64D19;"><p>Pole email musi zawierać maksymalnie 44 znaki!</p></div>');
}
elseif(strlen($email) < 6) {
throw new exception('<div id="#okno_bledu_rejestracji" style="background: #FBE3E4 url('.$errw.') no-repeat;background-position: 7px 7px;color:#E64D19;"><p>Pole email musi zawierać minimum 6 znaków!</p></div>');
}
}
为了在同一页面上显示它,但是在名为okno_bledu_rejestracji的div中,我使用以下HTML代码:
<div id="okno_bledu_rejestracji">validate error box</div>
这个JQ代码,在点击表单的提交按钮后显示,它的名字是#zarejestruj_sie:
$(document).ready( function() {
$("#zarejestruj_sie").click( function() {
$.post( $("#formularz_rejestracji").attr("action"), $("#formularz_rejestracji :input").serializeArray(), function(info) {
$("#okno_bledu_rejestracji").empty();
$("#okno_bledu_rejestracji").html(info);
});
$("#formularz_rejestracji").submit( function() {
return false;
});
});
});
现在我想显示一个php函数:
function validate_email_input($email)
{
if(!prawidlowy_email($email)) {
throw new exception('<div id="#okno_bledu_rejestracji" style="background: #FBE3E4 url('.$errw.') no-repeat;background-position: 7px 7px;color:#E64D19;"><p>Kombinacja znaków w polu e-mail jest niepoprawna!</p></div>');
}
elseif(strlen($email) > 44) {
throw new exception('<div id="#okno_bledu_rejestracji" style="background: #FBE3E4 url('.$errw.') no-repeat;background-position: 7px 7px;color:#E64D19;"><p>Pole email musi zawierać maksymalnie 44 znaki!</p></div>');
}
elseif(strlen($email) < 6) {
throw new exception('<div id="#okno_bledu_rejestracji" style="background: #FBE3E4 url('.$errw.') no-repeat;background-position: 7px 7px;color:#E64D19;"><p>Pole email musi zawierać minimum 6 znaków!</p></div>');
}
}
在onblur输入后名为okno_bledu_rejestracji的div中,id为email。
我竖起大拇指寻求帮助。谢谢。
这通常是不可能的。在将页面提供给客户端之前,PHP由服务器执行。客户端不理解你的PHP代码
也就是说,有一种方法可以用PHP实现这一点。使用Ajax,可以用电子邮件查询服务器,并从服务器获得响应。通常你会得到JSON格式的响应。
使用jQuery,下面的代码可以做到这一点:$(document).ready( function() {
$("#email").mouseup(function() {
var email = $(this).val(),
url = "api/myfunction?email=" + email;
$.get(url, function(data) {
// We succeeded! data contains your response.
});
});
});
您需要了解客户端和服务器端。这两者之间的区别在您的web编程中非常重要。
我建议您学习一些关于Ajax的知识。在服务器端,您需要一个文件,如ajax.php,它将电子邮件作为GET参数,并返回带有响应的JSON。鼠标向上时,jquery将调用ajax页面并获取答案并将其放入DOM元素中,比如Div。
http://learn.jquery.com/ajax/祝你好运!
还有:如果你正在检查电子邮件的长度和格式,你可能会期待你的代码的javascript翻译。