javascriptのonclickイベントハンドラーでブール値を切り替える方法はありますか?私が持っていたスクリプトはうまくいくと思いましたが、そうではないと思います。
HTML(私の完全なスクリプトではありません)
<form action = "event_add.php" method = "post">
<label>Details</label>
<div class = "details">
<span class = "editImg" onclick = "javascript:updateTextArea('<strong>','</strong>',bold)"><strong>B</strong></span>
<span class = "editImg" onclick = "javascript:updateTextArea('<em>','</em>',ital)"><em>I</em></span>
<textarea id = "txtAreaDetails" rows = "15" cols = "40"></textarea>
</div>
</form>
Javascript:
var bold = false;
var ital = false;
function updateTextArea(beg_tag,end_tag,variable){
if(variable == false){
variable = true;
var output = beg_tag;
}else{
variable = false;
var output = end_tag;
}
var text = document.getElementById("txtAreaDetails").value;
document.getElementById("txtAreaDetails").value = text + output;
}
私がやろうとしているのは、ユーザーが「B」をクリックすると、textareaフィールドに強力なタグが追加されることです。次に、ユーザーがもう一度クリックすると、終了タグ/ strongが表示されます。Iと同じですが、emと/emが表示されます。私が得ている結果は、何度クリックしても常にbeg_tagを追加することです。
私はjavascriptにあまり精通していません。プログラミングのほとんどをPHPで行っているので、これを行うための組み込み関数があるかどうかはよくわかりません。