楽しみのために、学校のクラスの 1 つにチャットルームを作成しています。私が求めているのは JavaScript で、ボタン (URL の追加) が押されるとポップアップする入力ボックスがあり、ユーザーは URL を貼り付けてテキストエリアに書き込むことができます。
「http://」が追加された URL の前に配置されるように、この機能が必要です。
このスクリプトを試してみました(私には正しいように見えます...しかし、うまくいきません)
<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 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>
2 つの問題が残っています。
- そのスクリプトでテキストエリアを一掃したくない
- 最後に を追加したくありません
<undefined></undefined>
これは、現在のスクリプトを使用した結果です。
<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>
-tags の削除だけです。
HTML:<input type="button" id="s_5" onclick="javascript:addUrl()">
解決しました!