我不熟悉JavaScript。當有人通過onchange(field-name:「ordernumber」)更改輸入文本字段時,我到目前爲止所做的是隱藏我的表單的一部分(請參見下面的「備忘錄」)。隱藏元素與JS由於兩個條件
所以我用這個的Funktion:
<script language="JavaScript" type="text/javascript">
function takeawayfield()
{ dok=0;
if (document.getElementById("ordernumber").changed == true) dok=1
if (dok==0)
{document.getElementById("Memo").style.display = "none";}
else
{document.getElementById("Meno").style.display = "inline";}
}
</script>
這工作得很好,但現在我想從一個下拉列表(選擇選項)添加另一個條件。換句話說:當您更改訂單號並選擇某個選項時,「備忘錄」應該消失。我嘗試了很多,但無法正常工作。這是我最新的嘗試:
function takeawayfield()
{ dok=0;
if (document.getElementById("ordernumber").changed == true && document.getElementById("system").value == "sys1") dok=1
if (dok==0)
{document.getElementById("Memo").style.display = "none";}
else
{document.getElementById("Memo").style.display = "inline";}
兩件事情都沒有這一個正確的工作:當只有其中的一個條件是真實的它執行(雖然我以前& &),它似乎是unrelevant哪個選項從已選擇下拉菜單。現在它執行每個選項,但它只應執行「sys1」。
順便說一句:我添加onchange =「javascript:takeawayfield()」兩個受影響的表單元素(輸入文本和選擇選項)。我想這是正確的?
我在做什麼錯?
在此先感謝!
編輯:
這裏是HTML標籤:
<input type="text" name="ordernumber" id="ordernumber" value="<?php echo htmlspecialchars($ordernumber); ?>" onchange="javascript:takeawayfield()">
<select name="system" id="system" onchange="javascript:takeawayfield()"> <option value="sys1">System 1</option> <option value="sys2">System 2</option> <option value="sys3">System 3</option> </select>
什麼是'.changed'?請同時顯示您的兩個字段的HTML標記。 – Bergi
我不確定我是否明白你需要什麼,如果你有onchange事件,爲什麼你仍然試圖看看文本框值是否改變?你應該檢查一下實際上是否存在價值?順便說一句,我認爲沒有「改變」的東西。 – Esko
@Bergi這裏是標籤:'」onchange =「javascript:takeawayfield() 「> ' 和 '<選擇name = 」系統「 ID = 」系統「 平變化= 」JavaScript的:takeawayfield()「> <選項值= 」SYS1「>系統1 <選項值=」 SYS2 「>系統2 <期權價值=」 SYS3" >系統3 「 – Felix