【问题标题】:Remove white space from Text-Area , Why is it there?从 Text-Area 中删除空格,为什么会出现?
【发布时间】:2016-07-21 11:45:46
【问题描述】:

我想了解为什么我的<textarea> 框在我登陆页面时包含空白。我已经设置了一个if(empty ($_POST['textarea']),以在提交前检查它是否有文本。起初我无法让if(empty ($_POST['textarea']) 工作,直到我注意到<textarea> 中的空白。只要我删除空白,if(empty ($_POST['textarea']) 条件就会起作用。

在我点击文本区域之前,已经有空白区域 - 为什么会发生这种情况,我该如何预防?

这是我的代码。

文本区域:

echo '<div id="container">

<textarea style=width:500px; font-size:14px; height:60px;font-weight:bold; 
name= "name"  id="name" > 
</textarea>
</div>

我正在使用 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>

【问题讨论】:

    标签: php jquery html ajax


    【解决方案1】:

    空格是通过您格式化 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,这向我表明您可能希望使用 &lt;input type="text"&gt;,因为 textarea 用于多行文本。

    【讨论】:

    • 谢谢,这对我来说是宝贵的一课。
    • 但请记住,这仅适用于初始状态。当您在textarea 中放置一个空格时,您在 php 端的检查将不再起作用。这可能是需要的,这只是一个提醒。 :)
    • @eisbehr 非常正确,我使用if($('#content').val().trim()=='') 来确定是否输入了空格以检查和拒绝
    【解决方案2】:

    可以使用trim 删除文本框中可能的内容之前和之后的空格:

    var info = $('#name').val().trim();
    

    【讨论】:

    • 确实很好,谢谢。
    【解决方案3】:

    这是因为你之间有空间

    <textarea style=width:500px; font-size:14px; height:60px;font-weight:bold; 
    name= "name"  id="name" >// this creates space
    </textarea>
    

    使用

    <textarea style=width:500px; font-size:14px; height:60px;font-weight:bold; 
    name= "name"  id="name" ></textarea>
    

    【讨论】:

    • 谢谢,空白消失了,条件语句正常工作
    【解决方案4】:

    尝试将结束 &lt;/textarea&gt; 标记放在同一行删除空格。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-11-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-01-11
      相关资源
      最近更新 更多