防止空输入返回undind,而是返回一个空字符串
prevent empty input from returning undefind and instead return an empty string
正如标题所示,我有一个注册表单,因为我知道javascript可以被禁用,所以我决定在服务器端php中检查空输入,但所有空输入都返回undefined
作为字符串,而不仅仅是一个空字符串,我是否可以阻止它返回或确保值为空?(用户仍然可以选择未定义的名称或用户名)Javascript函数:
var lnk = 'register.php?n=' + $('#fname').value + '&f=' + $('#pnumb').value + '&m=' + $('#elecm').value + '&l=' + $('#uname').value + '&p=' + $('#pword').value + '&p2=' + $('#pconf').value;
$.post(lnk, function (data) { //Do something with data }
PHP:
<?php
//databse info
$servername = "localhost";
$username = "root";
$password = "";
$dbname = "phptest";
//Getting values from link
$comname = $_GET['n'];
$phone = $_GET['f'];
$mail = $_GET['m'];
$uname = $_GET['l'];
$pass = $_GET['p'];
$conf = $_GET['p2'];
//Checking if any value is left empty
if (empty($comname)) {
echo '1';
}
elseif (empty($phone)) {
echo '2';
}
elseif (empty($mail)) {
echo '3';
}
elseif (empty($uname)) {
echo '4';
}
elseif (empty($pass)) {
echo '5';
}
elseif (empty($conf)) {
echo '6';
}
首先,它不应该是吗
$('#fname').val()
使用jQuery时?当我们在做这件事的时候,使用jQuery只根据ID选择一个元素会浪费一些性能。为什么不使用
document.getElementById('fname').value
这可能只有几毫秒,但它们在更大的脚本中加起来,所以当你可以获得你需要的东西时,为什么不使用香草JS呢?:)
回答您的问题:
(document.getElementById('fname').value || '')
就是你想要的。
首选此
$("#someID").value||"默认值"
如果用户输入错误(即空字符串、未定义等),它将允许您定义默认值
如果用户输入未定义,它将不是undefined
,而是字符串"未定义"
var lnk = 'register.php?n=' + ($('#fname').value||"") + '&f=' + ($('#pnumb').value||"") + '&m=' + ($('#elecm').value||"") + '&l=' + ($('#uname').value||) + '&p=' + ($('#pword').value||"") + '&p2=' + ($('#pconf').value||);
$.post(lnk, function (data) { //Do something with data }
您可以按照这个例子来查看var是否未定义,如果是,它将返回一个空字符串,如果不是,则返回变量本身
var string = ( typeof(string ) == 'undefined' ) ? "" :string ;
相关文章:
- 节点导出返回一个空对象
- Angular js-返回一个包含类似
- 从HTTPGET返回一个自定义对象列表,以便在Angular 2应用程序中使用
- 从我的控制器返回一个不同于200的代码以触发ajax错误,这被认为是一种好的做法吗
- 对一个对象使用reduce可以返回一个没有't在数组中包含目标字母
- Javascript:在激发函数后返回一个变量以供使用
- Protractor:element.getText()返回一个对象,而不是String
- JSTree's data.rslt.obj.text()返回一个文本数组,而不是所需节点的文本
- 我应该返回一个类似console.log()的方法调用吗
- 从 javascript 中的对象方法返回一个对象
- new SharedWorker(“whatever.js”)返回一个错误
- 从js中的对象返回一个值
- 乘法返回一个奇怪的结果
- 返回一个关联数组,而不是mongoose中的文档数组
- 为什么我的$http.post返回一个400错误
- 返回一个新函数,而不是工厂中的对象
- 从javascript函数返回一个对象
- 从 angularjs 中的嵌套成功函数返回一个值
- 将字符串转换为数组使用javascript更新一个值并返回一个字符串
- jQuery's$.post只返回一个空白数据