我有一個非常奇怪和混亂的錯誤。Javascript - 找不到功能?!從onClick調用,功能是在同一頁
這裏是我的代碼:
{if="$pjax === false"}{include="header"}{/if}
<script type="text/javascript">
$(document).ready(function() {
function clickclear(thisfield, defaulttext) {
if (thisfield.value == defaulttext) {
thisfield.value = "";
}
}
function clickrecall(thisfield, defaulttext) {
if (thisfield.value == "") {
thisfield.value = defaulttext;
}
}
});
</script>
<form action='./login' method='post' name='form'>
<ul class="form">
<li><input type="text" name="username" value="Username" id="username" onclick="clickclear(this, 'Username')" onblur="clickrecall(this,'Username')" /></li>
<li><input type="password" name="password" value="Password" id="password" onclick="clickclear(this, 'Password')" onblur="clickrecall(this,'Password')" /></li>
<li><span style='display:block;height:27px;float:left;line-height:27px;'>Remember Me</span> <div id='itoggle' style='float:right;'><input type="checkbox" id="remember" class='itoggle' /></div><div class='clearfix'></div></li>
</ul>
</form>
<a href="javascript: form.submit()" class="button white">Login</a>
{if="$pjax === false"}{include="footer"}{/if}
你可以看到有兩個功能,clickclear
和clickrecall
。這些從onClick
和onBlur
的表格輸入中被調用。然而,當我運行它們,我得到這些javascript錯誤:
Uncaught ReferenceError: clickclear is not defined
Uncaught ReferenceError: clickrecall is not defined
任何想法?我知道這可能很簡單,但我看不到它。
毫無理由將你的函數包裝在document.ready中。 –
這是因爲函數只能在.ready()函數中使用:它們是該函數的私有函數。 – frenchie
它仍然給了同樣的錯誤,當我沒有使用document.ready –