אימות נתונים בjavascript ושליחה לprocessing בPHP - תכנות - HWzone פורומים
עבור לתוכן
  • צור חשבון

אימות נתונים בjavascript ושליחה לprocessing בPHP


gkman

Recommended Posts

שלום.

יש לי טופס מאוד פשוט לביצוע חיפוש באתר שמורכב רק משדה של טקסט וכפתור submit.

עכשיו אני רוצה לוודא שיש ערך כלשהו (שהוא לא רווח) בשדה הטקסט לפני שאני שולח אותו לטיפול בדף PHP.

איך אני עושה את זה?

חשבתי לשנות את הכפתור מסוג submit לסוג button ולהוסיף שדה onclick שיריץ פונקציה בjavascript שתבדוק אם יש ערך

ואם יש אז הוא יבצע את הפעולה submit

אני רק לא יודע איך אני בדיוק כותב את זה...

קישור לתוכן
שתף באתרים אחרים

אני לא מאוד מבין ב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" />

קישור לתוכן
שתף באתרים אחרים

כמו שאמרתי, סיבכת :)

צריך משהו כזה:


<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" שים את הקוד שבודק שהביטוי אכן תקני.

קישור לתוכן
שתף באתרים אחרים

שיניתי כמו שהצעת- עם השינויים:





function validate() {
phrase = document.getElementById("phrase").value;
phrase.replace(/^\s+|\s+$/g,"");
if (phrase.length == 0) {
return true;
} else {
return false;
}
}

וזה עדיין לא עובד לי.

אני אמור לשנות את document לשם של הדף?

קישור לתוכן
שתף באתרים אחרים

הטופס:





<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 על שתי הקבצים. לא נראה לי שזה יוצר את הבעיה כי אני עושה את זה כבר לכמה פונקציות ולא הייתה לי שום בעיה.

קישור לתוכן
שתף באתרים אחרים

ארכיון

דיון זה הועבר לארכיון ולא ניתן להוסיף בו תגובות חדשות.

×
  • צור חדש...