gkman פורסם 2012 בפברואר 26 Share פורסם 2012 בפברואר 26 שלום.יש לי טופס מאוד פשוט לביצוע חיפוש באתר שמורכב רק משדה של טקסט וכפתור submit.עכשיו אני רוצה לוודא שיש ערך כלשהו (שהוא לא רווח) בשדה הטקסט לפני שאני שולח אותו לטיפול בדף PHP.איך אני עושה את זה?חשבתי לשנות את הכפתור מסוג submit לסוג button ולהוסיף שדה onclick שיריץ פונקציה בjavascript שתבדוק אם יש ערךואם יש אז הוא יבצע את הפעולה submitאני רק לא יודע איך אני בדיוק כותב את זה... קישור לתוכן שתף באתרים אחרים More sharing options...
שניצל פורסם 2012 בפברואר 26 Share פורסם 2012 בפברואר 26 זה די פשוט, צור פונקציה שמחזירה true אם הקלט תקין ו-false אחרת, ורשום אותה ל-onsubmit של הטופס. קישור לתוכן שתף באתרים אחרים More sharing options...
gkman פורסם 2012 בפברואר 26 מחבר Share פורסם 2012 בפברואר 26 אני לא מאוד מבין בjavascript.. ניסיתי כזה דבר.הטופס:<form name="search_form" action="search.php" method="get"> <fieldset style="background-color: lightgreen; border:0pt;width:180px;float:left;"> <input type="text" name="phrase" style="width:178px;" /> <br /> <a href="advcsrc.php" style="font-size:10pt;"> Advanced Search. </a> <span style="float:right;"> <input type="button" onclick="search(document.getElementById('phrase')" name="search" id="search" value="Search" /> </span> </fieldset> </form>והקוד ב javascript:function search(phrase) { phrase.replace(/^\s+|\s+$/g,""); if(phrase.length == 0){ alert("The Search field is empty! /n Please enter a search phrase, and try again."); phrase.focus(); }else{ document.search_form.submit(); } }זה לא עובד לי- ואני חושב שזה בגלל שאני שולח לפונקציה אלמנט של טופס ולא מחרוזת..אבל זה גם לא עבד לי כשניסיתי בטופס לכתוב:<input type="button" onclick="search(phrase.value)" name="search" id="search" value="Search" /> קישור לתוכן שתף באתרים אחרים More sharing options...
שניצל פורסם 2012 בפברואר 26 Share פורסם 2012 בפברואר 26 כמו שאמרתי, סיבכת צריך משהו כזה: <script>function validate() { phrase = document.getElementById("phrase").value; if (phrase is valid) { return true; } else { return false; }}</script><form action="search.php" method="get" onsubmit="return validate()"> <input type="text" name="phrase" /> <input type="submit" /></form> כשכמובן במקום "phrase is valid" שים את הקוד שבודק שהביטוי אכן תקני. קישור לתוכן שתף באתרים אחרים More sharing options...
gkman פורסם 2012 בפברואר 26 מחבר Share פורסם 2012 בפברואר 26 שיניתי כמו שהצעת- עם השינויים:function validate() { phrase = document.getElementById("phrase").value; phrase.replace(/^\s+|\s+$/g,""); if (phrase.length == 0) { return true; } else { return false; } }וזה עדיין לא עובד לי.אני אמור לשנות את document לשם של הדף? קישור לתוכן שתף באתרים אחרים More sharing options...
שניצל פורסם 2012 בפברואר 26 Share פורסם 2012 בפברואר 26 שים alertים כדי לדעת מה קורה בדיוק (תבדוק מה בדיוק הביטוי הרגולרי מצא וכו'). קישור לתוכן שתף באתרים אחרים More sharing options...
gkman פורסם 2012 בפברואר 26 מחבר Share פורסם 2012 בפברואר 26 לא נראה לי שזה מריץ בכלל את הjavascript זה לא הראה אף אחד מהalertים שהוספתי. קישור לתוכן שתף באתרים אחרים More sharing options...
שניצל פורסם 2012 בפברואר 26 Share פורסם 2012 בפברואר 26 אז תעלה לכאן את כל הקוד הרלוונטי.חוץ מזה, יש דרכים לדבג את הג'אווהסקריפט בדפדפן (יש כלי מובנה לזה בכרום, ולפיירפוקס יש את Firebug). קישור לתוכן שתף באתרים אחרים More sharing options...
gkman פורסם 2012 בפברואר 26 מחבר Share פורסם 2012 בפברואר 26 הטופס: <form name="search_form" action="search.php" method="get" onsubmit="validate()"> <fieldset style="background-color: lightgreen; border:0pt;width:180px;float:left;"> <input type="text" name="phrase" style="width:178px;" /> <br /> <a href="advcsrc.php" style="font-size:10pt;"> Advanced Search. </a> <span style="float:right;"> <input type="submit" name="search" id="search" value="Search" /> </span> </fieldset> </form>הקוד של javascript (הוא נמצא בין תגיות script)function validate() { phrase = document.getElementById("phrase").value; alert(phrase); phrase.replace(/^\s+|\s+$/g,""); if (phrase.length == 0) { alert("found expression to be true"); return true; } else { alert("found expression to be false"); return false; } }אני לא יודע אם זה רלוונטי- אבל הטופס נמצא בקובץ אחד והפונקציה של javascript בקובץ שני ואז קובץ שלישי של php שמשתמש בinclude על שתי הקבצים. לא נראה לי שזה יוצר את הבעיה כי אני עושה את זה כבר לכמה פונקציות ולא הייתה לי שום בעיה. קישור לתוכן שתף באתרים אחרים More sharing options...
שניצל פורסם 2012 בפברואר 26 Share פורסם 2012 בפברואר 26 שים לב שאתה עושה getElementById אבל לתיבת הטקסט שלך יש name, לא id.חוץ מזה, אתה צריך לעשות return validate, לא סתם validate. קישור לתוכן שתף באתרים אחרים More sharing options...
gkman פורסם 2012 בפברואר 26 מחבר Share פורסם 2012 בפברואר 26 אוקי- עובד פיצוץ עכשיו-תודה רבה. קישור לתוכן שתף באתרים אחרים More sharing options...
Recommended Posts
ארכיון
דיון זה הועבר לארכיון ולא ניתן להוסיף בו תגובות חדשות.