只是为了好玩,我为我的一个学校课程创建了一个聊天室。 我所追求的是一个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>
还有两个问题。
<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()">
已解决:)!
答案 0 :(得分:1)
您应该检查浏览器的控制台 - 它始终会通知发生了什么错误。
你在这一行有一个错字:
x="http://" + nettside + ";
应删除结尾+ "
。
另外,这里:
document.getElementById("area").innerHTML=x;
您应该使用value
代替(通常您对元素执行此操作):
document.getElementById("area").value=x;
这可能不会导致您使用的浏览器出现问题,但在某些情况下可能会导致奇怪的行为:)。