我想在onblur event.2nd参数中传递php变量作为参数不传递给函数。 在这里,我附上了我的代码。
echo "<p>Email<input type=text name=email id=email size=18 maxlength=50 required onblur='javascript:myFunction(this.value,".$fet['email'].");' value='".$email."' ></p>";
脚本
<script>
function myFunction(em,a) {
alert(a);
if(em!='')
{
var x = document.forms["profile"]["email"].value;
var atpos = x.indexOf("@");
var dotpos = x.lastIndexOf(".");
if (atpos<1 || dotpos<atpos+2 || dotpos+2>=x.length) {
alert("Not a valid e-mail address");
document.getElementById("email").value = "";
return false;
exit();
}
} }
</script>
答案 0 :(得分:1)
您需要在第二个参数周围添加单引号。
更正后的代码:
echo "<p>Email<input type=text name=email id=email size=18 maxlength=50 required onblur='javascript:myFunction(this.value,\'".$fet['email']."\');' value='".$email."' ></p>";
否则,javascript会将您的参数视为关键字this
。
答案 1 :(得分:1)
在第二个参数周围使用double quotes
(已经有单打引号来调用js)
所以试试这个:
echo "<p>Email<input onblur='javascript:myFunction(this.value,\"".$fet['email']."\");' value='".$email."' ></p>";