我是Javascript新手,不理解以下行爲。開關語句中的Javascript作用域
當textarea爲空時,「process」代碼不會將其識別爲null,並且不會提示輸入文本。
當文本區域中有文本時,「進程」代碼不顯示警報中的文本。看起來這可能是一個範圍問題,我認爲我所有的變量都是全局的。
HTML代碼:
<input type="button" name="btnProcessTA" onclick="myTextArea('process')" value="Process Text Area" />
<input type="button" name="btnClearTA" onclick="myTextArea('clear')" value="Clear Text Area" />
<form id="formExample" action="" method="get">
<label for="textAreaField">A text area field</label>
<textarea name="textAreaField" id="textAreaField" rows="4" cols="50"></textarea>
</form>
Javascript代碼:
<script type="text/javascript">
function myTextArea(op)
{
oTextArea = document.getElementById("textAreaField");
textAreaValue = oTextArea.value;
alert(op + "\n" + oTextArea + "\n" + textAreaValue);
switch (op){
case "clear":
oTextArea.value = "";
alert("Clearing");
break;
case "process":
if (textAreaValue = "")
alert("Would you please enter some text?");
else
alert("You entered:\n\n" + textAreaValue);
break;
default : alert("unknown op code");
}
}
</script>
謝謝。這解決了這兩個問題。 –