创建一个写入textarea(php)的输入框

时间:2013-11-05 23:22:41

标签: javascript textarea

只是为了好玩,我为我的一个学校课程创建了一个聊天室。 我所追求的是一个javascript,一旦按下一个按钮(添加url),就会弹出一个输入框,用户可以粘贴一个url,然后在textarea中写入。 我希望这个功能只是“http://”放在添加网址的前面。

尝试使用这个脚本(看起来对我来说是正确的......但它不起作用)

<input type="button" id="s_5" onclick="addUrl()">
<script>
function addUrl()
{
var x;

var nettside=prompt("Type in URL:","www.example.com");

if (nettside!=null)
  {
  x="http://" + nettside + ";
  document.getElementById("area").innerHTML=x;
  }
}
</script>

是的,它应该写的textarea:

<textarea name="txt" id="area" class="typo_vind" placeholder="......" autofocus title="Type your message here, have a great day!"></textarea>

提前,谢谢:)!

*的 修改 *

HTML:

<input type="button" id="s_5" onclick="javascript:formatText(addUrl())">

JS:

<script>
function addUrl()
{
var x;

var nettside=prompt("Skriv inn lenkeadressen her:","www.testtest.com");

if (nettside!="")
  {
  x="<a href="+"http://" + nettside + ">" + "BESKRIVELSE AV LENKEN" + "</a>";
  document.getElementById("area").value=x;
  }
}
</script>

还有两个问题。

  1. 我不希望该脚本清除textarea
  2. 我不希望将“”添加到最后 这是脚本现在的结果:
  3. <a href=http://www.eksempel.com>__BESKRIVELSE_AV_LENKEN__</a><undefined></undefined>

    * 编辑2 *

    解决了脚本用以下方法清除texarea的问题:

    <script>
    function addUrl()
    {
    var x;
    
    var nettside=prompt("Skriv inn lenkeadressen her (uten http://):","www.eksempel.com");
    
      {
      x="<a target =_blank href=http://" + nettside + ">" + "__BESKRIVELSE_AV_LENKEN__" + "</a>";
      var Field = document.getElementById('area');
      var val = Field.value;
      var selected_txt = val.substring(Field.selectionStart, Field.selectionEnd);
      var before_txt = val.substring(0, Field.selectionStart);
      var after_txt = val.substring(Field.selectionEnd, val.length);
      Field.value = before_txt  + x + after_txt;
    
      }
    }
    </script>
    

    所以现在缺少的是移除<undefined></undefined> - 标签。

    HTML:<input type="button" id="s_5" onclick="javascript:addUrl()">

    已解决:)!

1 个答案:

答案 0 :(得分:1)

您应该检查浏览器的控制台 - 它始终会通知发生了什么错误。

你在这一行有一个错字:

  x="http://" + nettside + ";

应删除结尾+ "


另外,这里:

document.getElementById("area").innerHTML=x;

您应该使用value代替(通常您对元素执行此操作):

document.getElementById("area").value=x;

这可能不会导致您使用的浏览器出现问题,但在某些情况下可能会导致奇怪的行为:)。