我一直在尝试使用jquery将一些输入保存到数据库中。我想防止用户用空格填充数据库。到目前为止,我所做的代码不允许在客户将输入框留空的情况下继续,这是可以的。问题是,如果客户多次点击空格键,记录将被保存到数据库中。底线是…只有当用户在输入框中写了一些内容时,我才想让他继续使用。对不起我的语法。希望你们能理解。非常感谢!
这是我正在使用的ATM脚本:
<script>
$(document).ready(function(){
$(function()
{
$('.btn-det').click(function(e)
{
e.preventDefault();
var name = $('#name').val();
var surname = $('#surname').val();
if (name === "" && surname === "")
{
alert("Please, enter your details!");
$("#userQuestion").hide();
}
else if(name != "" && surname === "")
{
alert("Please, enter your Surname");
$("#userQuestion").hide();
}
else if(name === "" && surname != "")
{
alert("Please, enter your Name");
$("#userQuestion").hide();
}
else {
$.post("saveDetails.php",
{
name: name,
surname: surname
});
$("#userDetails").hide(500);
$("#userQuestion").show(600);
}
});
});
});
</script>
我忘了提一下,在保存到DB之前,我有以下函数,它使用.trim(),但不会删除空白。它只删除输入内容开头和结尾的空格。再次感谢!
function test_input($data)
{
$data = trim($data);
$data = stripcslashes($data);
$data = htmlspecialchars($data);
return $data;
}
在javascript中,您可以在发送数据之前对字符串使用trim函数:
var name = $('#name').val();
name = name.trim();
http://www.w3schools.com/jsref/jsref_trim_string.asp
这将删除字符串前后的空格
在php中,您可以执行相同的
$name = trim((string) $_POST['name']);
为了清楚起见,TRIM默认情况下只删除空格(而不是所有空格)。这是医生。
UPDATE FOO set FIELD2 = TRIM(FIELD2);
http://www.w3schools.com/jsref/jsref_trim_string.asp
如果您需要在select查询中使用trim,您也可以使用正则表达式
SELECT * FROM table_name WHERE field RLIKE ' * query-string *'
MySql资源
另一个例子:
UPDATE student_surveys
SET favorite_activities =
TRIM(LEADING SPACE(1) FROM TRIM(TRAILING ',' FROM favorite_activities));
使用以下函数
trim($data," 't")
这将删除字符串开头和结尾的空白和制表符。看看
http://php.net/manual/en/function.trim.php
您必须将"作为第二个参数,这意味着删除空白(即")字符串的开头和结尾,"''t"表示删除制表符。两者结合(即"''t")表示删除空格和制表符。
好的,伙计们。这就是我所做的。我没有只使用"else",而是使用了"else-if",条件是所有输入字段都不为空,并同时修剪了这些字段。。。这只是我编辑的一篇文章:
非常感谢你的帮助!
if (name === "" && surname === "")
{
alert("Please, enter your details!");
$("#userQuestion").hide();
}
else if(name !== "" && surname === "")
{
alert("Please, enter your Surname");
$("#userQuestion").hide();
}
else if(name === "" && surname !== "")
{
alert("Please, enter your Name");
$("#userQuestion").hide();
}
//If there's any data saved into the variables, it deletes any leading and trailing white spaces//
else if($.trim(name) != "" && $.trim(surname) != "")
{
$.post("saveDetails.php",
{
name: name,
surname: surname
});
$("#userDetails").hide(500);
$("#userQuestion").show(600);
再次,非常感谢!