我想在成功时将列出的字段值清空为空。在下面的代码中,调用一个url并将值传递给页面,并在该页面上获取值并将其插入到mysql中,因此在成功函数中我希望得到该值的字段变为空。
$('#datacouform').click(function() {
var couname = $('#namecoun').attr('value');
var coucode = $('#codecoun').attr('value');
if ((couname === '') || (coucode === '')) {
$('p#errorcou').show(200);
return false;
}
else if ((!couname.match(/^[a-zA-Z]+$/)) || (!coucode.match(/^[a-zA-Z]+$/))) {
$('p#errorcou').hide(20);
$('p#errorcou').show(50);
return false;
} else {
$('a#counloader').show();
$.ajax({
type: 'POST',
url: 'adddata.php',
data: 'counname=' + couname + '&councode=' + coucode,
success: function() {
$('a#counloader').hide();
$('#addcountryform').hide(400);
$('#addcountry').show(400);
}
});
return false;
}
});
答案 0 :(得分:0)
您可以使用以下方法清除文本输入值:
$('#inputId').val('');
答案 1 :(得分:0)
这更适合获取值
var couname = $('#namecoun').val();
var coucode = $('#codecoun').val();
要清空这些输入,请将这些行放在success
回调函数中。
$('#namecoun').val('');
$('#codecoun').val('');
答案 2 :(得分:0)
您应该使用
var couname = $('#namecoun').val();
获取输入元素的值时获得一致的结果。然后,如果要设置值,只需使用
$('#namecoun').val('')
答案 3 :(得分:0)
假设'#namecoun'和'#codecoun'只是输入,我对你提供的代码片段进行了一些调整。请尝试以下方法:
$('#datacouform').click(function() {
var couname = $('#namecoun').val();
var coucode = $('#codecoun').val();
if ((couname.length == 0) || (coucode.length == 0)) {
$('p#errorcou').show(200);
} else if ((!couname.match(/^[a-zA-Z]+$/)) || (!coucode.match(/^[a-zA-Z]+$/))) {
$('p#errorcou').hide(20);
$('p#errorcou').show(50);
} else {
$('a#counloader').show();
$.ajax({
type: 'POST',
url: 'adddata.php',
data: 'counname=' + couname + '&councode=' + coucode,
success: function() {
//RESET VALUES TO EMPTY
$('#namecoun').val('');
$('#codecoun').val('');
$('a#counloader').hide();
$('#addcountryform').hide(400);
$('#addcountry').show(400);
}
});
}
});
不使用“.attr('value')”来获取输入的值,而是使用jQuery .val()将值作为字符串返回。然后我使用“.length”来查看值是否为空。我删除了隐含的退货。使用相同的.val()函数,您可以通过在.val('value')等参数中放置一个字符串来为这些输入赋值。在这种情况下,我们希望字段为空,所以我给它一个空字符串.val('')
希望有所帮助。
答案 4 :(得分:0)
要回应其他人已经说过的话,要获得元素的值 - 你应该使用val()函数。
$('#namecoun').val(); //get the value of the element
然后,如果你提供一个参数.val(),它将设置元素的值(而不是获取它)。
$('#namecoun').val(''); // set (empty) the value of the element
还有更好的方法在jQuery中进行POST;即
$.post({
url: "adddata.php",
data: { counname : counname,
councode : coucode },
success: function(){
$('#namecoun').val('');
/* and so on... */
}
});
这只是你所做的快捷方式,但是,以这种方式传递数据可以节省字符串操作。或者,使用序列化功能。
另外,不要返回false。这是不好的做法,做了很多事情,当你维护别人的代码时,你可能会感到困惑,所有你看到的都是“回归虚假”;即使发生了正确的事件。您正在寻找的是防止默认。像这样......
$('#example').click( function(e){
/* code here */
e.preventDefault();
});
有关不返回虚假here的原因的更多信息。