我一直在尝试使用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;
}
答案 0 :(得分:0)
在javascript中,您可以在发送数据之前对字符串使用trim函数:
var name = $('#name').val();
name = name.trim();
这将删除字符串
之前和之后的空格在php中你可以做同样的事情
$name = trim((string) $_POST['name']);
答案 1 :(得分:0)
为了清楚起见,TRIM默认只删除空格(不是所有空格)。 Here是文档。
UPDATE FOO set FIELD2 = TRIM(FIELD2);
如果您需要在select查询中使用trim,您还可以使用正则表达式
SELECT * FROM table_name WHERE field RLIKE ' * query-string *'
MySql Resouces
另一个例子:
UPDATE student_surveys
SET favorite_activities =
TRIM(LEADING SPACE(1) FROM TRIM(TRAILING ',' FROM favorite_activities));
答案 2 :(得分:0)
使用以下功能
trim($data," \t")
这将从字符串的开头和结尾删除空格和制表符。 看看
你必须给“”作为第二个参数,这意味着删除 空格(即“”)字符串的开头和结尾,“\ t”表示删除制表符。组合两者(即“\ t”)意味着删除空格和制表符。
答案 3 :(得分:0)
好的伙计们。这就是我做的。我没有使用“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);
再次,非常感谢你!