0

我正在制作带有 Ajax 的表单,并且我想在客户端使用 javascript 进行验证。但是,当我将 id 名称和 onblur fnc 名称相同时遇到问题:

<label>Title*:</label>

<?php 
echo '<input type="text" id="title1" value = "" onblur="title1(this.value)"/> <span id="err1"> </span> <p></p>';
?>

基本上 Ajax 将不起作用,因为我的 fnc 名称与 id 名称相同。我只是想知道为什么它会引起歧义,因为 onblur 和 id 需要 diff 参数。

4

1 回答 1

1

一些浏览器会自动将具有 ID 的元素作为全局window对象的属性。为了避免这种情况,显式声明它们很重要。尝试这个:

var title1 = function(val) {
    // function body
}

这基本上迫使浏览器将其保留title1为变量而不是对元素的引用。

于 2012-07-18T17:08:12.937 回答