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();