פורסם 2008 בנובמבר 2417 שנים בוקר טוב, אני מנסה לכתוב סקריפט פשוט שיעבוד תחת IE ו FIREFOX, סקריפט שתפקידו להציג תיבות select נסתרות בהתאם לבחירה בתיבת select ראשית.הנה הקוד שבנתיים כתבתי : <form action="view.php" method="post" name="details"> <script language="JavaScript"> function clear_selected() { document.getElementById("man").style.display="none"; document.getElementById("scale").style.display="none"; document.getElementById("man").value=''; document.getElementById("scale").value=''; } function all_changed() { switch(document.getElementById("all").value){ case '0': document.getElementById("man").style.display="none"; document.getElementById("scale").style.display="none"; document.getElementById("man").value=''; document.getElementById("scale").value=''; case '1': document.getElementById("man").style.display="inline"; document.getElementById("scale").style.display="none"; document.getElementById("man").value='0'; document.getElementById("scale").value=''; case '2': document.getElementById("man").style.display="none"; document.getElementById("scale").style.display="inline"; document.getElementById("man").value=''; document.getElementById("scale").value='0'; case '3': document.getElementById("man").style.display="inline"; document.getElementById("scale").style.display="inline"; document.getElementById("man").value='0'; document.getElementById("scale").value='0'; } } </script> <select id="all" name="all" onChange="all_changed();"> <option value='0'>All</option> <option value='1'>Manufacture</option> <option value='2'>Scale</option> <option value='3'>Man' & Scale</option> </select> </td> <td> <select id="man" name="man" style="display:none"> <option value='0'>~Select~</option> </select> <select id="scale" name="scale" style="display:none"> <option value='0'>~Select~</option> </select> </td> </tr> <tr> <td> <input type="submit" value="select"> <input type="reset" value="clear" name="clear" onClick="clear_selected();"> </td> </tr> </form>אך משום מה הקוד לא עובד... מה אני עושה לא בסדר? תודה!
פורסם 2008 בנובמבר 2417 שנים כמה דברים שעשית לא נכון1. נתחיל מזה שהקוד שלך לא תקין (קוד ה HTML עצמו), תקן אותו בשביל שיעבוד טוב ב FF2. רשמת onChange במקום onchange שוב פעם לא תקין ולא יעבוד ב FF תתקן בהתאם3. בפקודה switch שרשמת לא רשמת בסוף כל אופציה את המילה break שזה מה שגרם לטעות שלך.תקן את כל אלו ותראה שזה עובד.<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "[url]http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">[/url]<html xmlns="[url]http://www.w3.org/1999/xhtml">[/url] <head> <title></title> <script language="JavaScript"> function clear_selected() { document.getElementById("man").style.display="none"; document.getElementById("scale").style.display="none"; document.getElementById("man").value=''; document.getElementById("scale").value=''; } function all_changed() { switch(document.getElementById("all").value){ case '0': document.getElementById("man").style.display = "none"; document.getElementById("scale").style.display = "none"; document.getElementById("man").value = ''; document.getElementById("scale").value = ''; break; case '1': document.getElementById("man").style.display = "inline"; document.getElementById("scale").style.display = "none"; document.getElementById("man").value = '0'; document.getElementById("scale").value = ''; break; case '2': document.getElementById("man").style.display = "none"; document.getElementById("scale").style.display = "inline"; document.getElementById("man").value = ''; document.getElementById("scale").value = '0'; break; case '3': document.getElementById("man").style.display = "inline"; document.getElementById("scale").style.display = "inline"; document.getElementById("man").value = '0'; document.getElementById("scale").value = '0'; break; } } </script> </head> <body> <form action="view.php" method="post" name="details"> <table cellpadding="0" cellspacing="0"> <tr> <td> <select id="all" name="all" onchange="all_changed();"> <option value='0'>All</option> <option value='1'>Manufacture</option> <option value='2'>Scale</option> <option value='3'>Man' & Scale</option> </select> </td> <td> <select id="man" name="man" style="display:none"> <option value='0'>~Select~</option> </select> <select id="scale" name="scale" style="display:none"> <option value='0'>~Select~</option> </select> </td> </tr> <tr> <td colspan="2"> <input type="submit" value="select"> <input type="reset" value="clear" name="clear" onClick="clear_selected();"> </td> </tr> </table> </form> </body></html>
ארכיון
דיון זה הועבר לארכיון ולא ניתן להוסיף בו תגובות חדשות.