如果字段输入具有默认值,我正在尝试使用JQuery检查提交,如果是,则尝试停止提交并提醒用户。我所做的工作到了一定程度。但无论我输入到输入字段中,都会停止提交并将文本更改为警报文本。
这是JQuery:
$('#submitQuestion').submit(function() {
if($('#topic').val('at least one topic, separated by commas')
{
$('#topic').removeClass('inactive');
$('#topic').addClass('notice');
$('#topic').val('Please include at least one topic');
return false;
}
return false;
});
我的另一个问题是,一旦文本被更改以通知用户,就会删除默认文本。现在我只有字符串而不是变量,并且出于某种原因,如果我在某些地方使用'==',它只能(部分地)起作用。现在,焦点函数中的第一个if条件有效,但不是elseif条件。目前我有这段代码:
$('#topic').focus(function(){
if(this.value=='at least one topic, separated by commas')
{
$(this).val(' ');
} elseif(this.value=='Please include at least one topic')
{
$(this).val(' ');
$(this).removeClass('notice');
}
});
$('#topic').blur(function(){
if(this.value==' ')
{
$(this).val('at least one topic, separated by commas');
$(this).addClass('inactive');
}
});
显然,我对JQuery的掌握并非如此。但我感谢任何帮助。
答案 0 :(得分:2)
提交其他部分的表格后退真实不是回答第一个问题`
提交表单:http://api.jquery.com/submit/
$('#submitQuestion').submit(function() {
if($('#topic').val('at least one topic, separated by commas')
{
$('#topic').removeClass('inactive');
$('#topic').addClass('notice');
$('#topic').val('Please include at least one topic');
return false;
}
else
return true;
});
回答2:
将字符串值存储在变量中,并使用===语法进行相等操作,如果不是else,则使用其他值,因此更新后的脚本为
var defaultTextFocus = 'at least one topic, separated by commas';
var defaultTextVal = 'Please include at least one topic';
$('#topic').focus(function(){
if(this.value=== defaultText)
{
$('#' +this.id).val(' ');
} else if(this.value=== defaultTextVal)
{
$('#' +this.id).val(' ');
$('#' +this.id).removeClass('notice');
}
});
答案 1 :(得分:0)
使用jQuery,你可以像这样设置一个表单值:
$('#topic').val('text here')
但是如果你想获取值,比如根据值检查它,你可以使用没有参数的val()函数,如下所示:
if ( $('#topic').val() == 'at least one topic, separated by commas' ) {
...
}