Php 删除文本区域的空白,为什么会出现空白?
我想了解当我登陆页面时,为什么我的Php 删除文本区域的空白,为什么会出现空白?,php,jquery,html,ajax,Php,Jquery,Html,Ajax,我想了解当我登陆页面时,为什么我的框包含空白。我已经设置了一个if(empty($\u POST['textarea]]),在提交之前检查它是否有文本。我无法让if(empty($\u POST['textarea]])开始工作,直到我注意到中有空白。一旦我删除空白,if(empty($\u POST['textarea]])条件就起作用了 在我点击文本区域之前,已经有空白了——为什么会发生这种情况,我该如何防止 这是我的密码 文本区: echo '<div id="container"&
框包含空白。我已经设置了一个if(empty($\u POST['textarea]])
,在提交之前检查它是否有文本。我无法让if(empty($\u POST['textarea]])
开始工作,直到我注意到
中有空白。一旦我删除空白,if(empty($\u POST['textarea]])
条件就起作用了
在我点击文本区域之前,已经有空白了——为什么会发生这种情况,我该如何防止
这是我的密码
文本区:
echo '<div id="container">
<textarea style=width:500px; font-size:14px; height:60px;font-weight:bold;
name= "name" id="name" >
</textarea>
</div>
echo'
我使用jQuery通过AJAX发送:
<script src="js/jquery.js"></script>
<div id="showResult"></div>
<script>
$(document).ready (function()
{
// Focus on textarea
$('#name').focus();
// '#msg' id of button
$('#msg').on('click', function() {
//to disable button after click
this.disabled = true;
// '#name' is the id value of textarea name
var info = $('#name').val();
$.ajax ({
method: "POST",
url: "actions/message_action.php",
//pass my variables to ajax - jq here in data name:
data: {name: info, recptid: '<?php echo $_GET["id"]; ?>'
},
//feed the success my data to return results
success: function(data){
$('#data').append(status);
$("#showResult").text(data);
//window.alert(data);
$('#data').val('Sent');
}
});
return false;
});
});
</script>
$(文档).ready(函数()
{
//关注文本区域
$('#name').focus();
//按钮的“#msg”id
$('#msg')。在('click',function()上{
//单击后禁用按钮的步骤
this.disabled=true;
//“#name”是textarea name的id值
var info=$('#name').val();
$.ajax({
方法:“张贴”,
url:“actions/message_action.php”,
//在这里以数据名将我的变量传递给ajax-jq:
数据:{name:info,recptid:'
},
//将成功数据输入我的数据以返回结果
成功:功能(数据){
$(“#数据”)。追加(状态);
$(“#显示结果”)。文本(数据);
//窗口报警(数据);
$('数据').val('已发送');
}
});
返回false;
});
});
空白是通过格式化HTML的方式生成的:
<textarea style=width:500px; font-size:14px; height:60px;font-weight:bold;
name= "name" id="name" >
</textarea>
这将在文本区域中创建空格和换行符。将HTML更改为:
<textarea style=width:500px; font-size:14px; height:60px;font-weight:bold;
name= "name" id="name" ></textarea>
编辑
我可以看到您已将您的textarea命名为
name
,这向我表明您可能希望使用
,因为textarea用于多行文本。尝试将结束
标记放在同一行上,删除空白。这是因为您之间有空格
<textarea style=width:500px; font-size:14px; height:60px;font-weight:bold;
name= "name" id="name" >// this creates space
</textarea>
//这会创建空间
使用
Use可以使用
trim
删除文本框中可能内容前后的空白:
var info = $('#name').val().trim();
好的,谢谢,这对我来说是一个很有价值的教训。但请记住,这只适用于初始设置。当您在
textarea
中添加空格时,您的php端检查将不再有效。这可能是需要的,它只是一个提醒。:@eisbehr非常正确,我使用了if($('#content').val().trim()==“”)
确保输入的空格是否被检查和拒绝谢谢,空格是否消失,条件语句是否正常工作,谢谢。
var info = $('#name').val().trim();