【问题标题】:How do i add 'default text' in a php form如何在 php 表单中添加“默认文本”
【发布时间】:2011-06-30 23:28:02
【问题描述】:

我希望更改以下代码,以便 textarea 有一个默认值,当它获得焦点时会消失。

if ($txtActive != 'N') {
    $value = (isset($_POST['mod_SEF_textarea'])) ? htmlspecialchars($_POST['mod_SEF_textarea']) : "";
    echo "<tr>";
    echo "<th align='" . $labelAlign . "'></th>";
    echo "<td><textarea class='SEFTextArea' name='mod_SEF_textarea' id='textarea' value=\'tester\' rows='$txtRows' cols='$txtCols'>" . stripslashes($value) . "" . "</textarea>";
    echo ($txtError) ? "<br /><b style='color: $errorTxtColor;'>$txtError</b>" : '';
    //  echo "wendy TESTerburger";
    echo "</td>";
    echo "</tr>\n";

【问题讨论】:

  • 请准确解释你想要什么。
  • 如何在 php 表单中添加“默认文本”...??输入字段中显示的文本,当您单击输入您的信息时,它会消失......??
  • "我已将所有 替换为 [ & ],因为浏览器会尝试显示 html 标签。" - 你看过stackoverflow 编辑器吗?您可以将区域标记为代码...

标签: php textarea placeholder


【解决方案1】:

如果我正确理解了这个问题,您可以更改这一行,如下所示:

$value = (isset($_POST['mod_SEF_textarea'])) ? htmlspecialchars($_POST['mod_SEF_textarea']) : "Default Text";

因此,如果未设置 mod_SEF_textarea,即没有值,则将执行 false 子句,这将是您的默认设置。

【讨论】:

  • 这会将“默认文本”放在字段中,但一旦选择它就不会被删除...
【解决方案2】:

任何客户端交互都不会使用 PHP - 但您在客户端的朋友 JavaScript。

I wrote a jQuery plugin that does this in a cross browser fashion.

如果只针对符合现代标准的浏览器,请使用placeholder 属性。

【讨论】:

    【解决方案3】:

    您需要使用placeholder 属性。请注意,它是 HTML5 规范的一部分,仅适用于某些浏览器的最新版本。如果您希望它在旧版浏览器中工作,则需要使用 Javascript。

    echo "<td><textarea class='SEFTextArea' name='mod_SEF_textarea' id='textarea' value=\'tester\' rows='$txtRows' cols='$txtCols' placeholder='Default text'>" . stripslashes($value) . "" . "</textarea>";
    

    这是一个使用 Javascript 进行操作的示例:

    echo "<td><textarea class='SEFTextArea' name='mod_SEF_textarea' id='textarea' value=\'tester\' rows='$txtRows' cols='$txtCols' onfocus=\"if(this.value=='Default value')this.value='';\" onblur=\"if(this.value=='')this.value='Default value';\">" . stripslashes($value) . "" . "</textarea>";
    

    很简单。

    【讨论】:

    • 好吧,我刚刚在 IE 和 Firefox 上测试了它.. 不行!虽然适用于 chrome,但必须是 Html 5...
    • @gav:是的,它是 HTML5 中的新功能。
    • @gav:我添加了使用 Javascript 执行此操作的代码。经过测试,工作正常。
    • 这只是功能页面,意思是只包含php,没有html,没有js...我如何在上面提到的php代码中使用javascript...??
    • 虽然我认为这行不通,但我尝试将 JS 插入 PHP 显示文本区域的位置...
    【解决方案4】:
    echo "<td><textarea class='SEFTextArea' name='mod_SEF_textarea' id='textarea' value='Comments...' rows='$txtRows' cols='$txtCols' onfocus=\"if(this.value=='Comments...')this.value='';\" onblur=\"if(this.value=='')this.value='Comments...';\">" . stripslashes($value) . "Comments..." . "</textarea>";
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-09-16
      • 2013-10-20
      • 2020-01-22
      • 1970-01-01
      • 2011-01-28
      • 2020-12-23
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多