כן, ולפעמים עדיף לעשות כך
כמה שפחות אפקטים ב-javascript, כך תהיה תאימות עם יותר דפדפנים. אתה יכול ליצור טופס שמעביר את מספר האלמנטים הרצויים, והסקריפט בצד השרת ידפיס לפי זה את השדות.
<? if (!isset($HTTP_GET_VARS["action"])) { ?> <form action="doit.php" method="get"> <input type="hidden" name="action" value="draw"> Number of items: <input type="text" name="number" size="3"> <input type="submit"> </form> <? } else { switch($HTTP_GET_VARS["action"]) { case "draw": if (is_numeric($HTTP_GET_VARS["number"])) { printf("<form action=\"doit.php\" method=\"get\">"); printf("<input type=\"hidden\" name=\"action\" value=\"doit\">"); for($i=1;$i<=$HTTP_GET_VARS["number"];$i++) printf("Item %d: <input type=\"text\" name=\"line[%d]\" size=\"10\">\n<br>",$i,$i); printf("<input type=\"submit\"></form>"); } break; case "doit": // do here the prossess on the form break; } } ?>
ניתן (ועדיף) לבצע את הדפסת הטופס הראשון ב-defualt של ה-switch. לא עשיתי את זה פה בשביל שהקוד יהיה יותר מובן.