我有以下代码。它应该是自我记录的。
$('body:not(#name)').click(function () {
if (document.getElementById('name').value === '') {
document.getElementById('name').value = 'Anonymous';
}
});
否定者被忽略了。我做错了什么?
<form action="process-comment.php" method="POST"> <br/>
Name: <input type"text" id="name" name="name" value="Anonymous"> <br/>
E-mail: <input type"text" id="email" name="email" value="Secret"> <br/>
Comment: <input type"textarea" id="comment" name="comment"> <br/>
<input id="submitbutton" type="submit" value="Send">
</form>
<script>
$(document).ready(function () {
$('#name').click(function () {
if (document.getElementById('name').value === 'Anonymous') {
document.getElementById('name').value = '';
}
});
$('#email').click(function () {
if (document.getElementById('email').value === 'Secret') {
document.getElementById('email').value = '';
}
});
$('body').not('#name').click(function () {
if (document.getElementById('name').value === '') {
document.getElementById('name').value = 'Anonymous';
}
});
$('body').not('#email').click(function () {
if (document.getElementById('email').value === '') {
document.getElementById('email').value = 'Secret';
}
});
我希望文本区域显示“匿名”和“秘密”,直到它们被单击。当用户点击其他地方,并且值为“”,表示没有输入任何内容时,我希望“Anonymous”和“Secret”返回。此时,字段已清空,但在单击时立即填充。
答案 0 :(得分:0)
您的选择器错误,应该是:
$('body :not(#name)')
或更好:
$('body').find(':not(#name)')
答案 1 :(得分:0)
检查下一个代码。
$('body').click(function () {
if ($(this).find('#name').val() === '') {
$(this).find('#name').val('Anonymous');
}
});
答案 2 :(得分:0)