הרשם שאלות ותשובות רשימת חברים לוח שנה הודעות מהיום

חזור   הוסטס - פורום אחסון האתרים הגדול בישראל > עיצוב גראפי, תכנות על כל שפותיו וקידום ושיווק אתרים > פורום תיכנות

   
|!|

השב
 
כלים לאשכול תצורת הצגה
ישן 31-05-13, 16:38   # 1
dabi
חבר וותיק
 
מיני פרופיל
תאריך הצטרפות: Dec 2007
הודעות: 1,767

dabi לא מחובר  

לחיצה על SUBMIT מנוטרל?

PHP קוד:
<script type="text/javascript">
 function 
enable(){

  if (
document.form_name.agreed.checked==''){

   
document.form_name.add_fisrt.disabled=true

  
}else{

   
document.form_name.add_fisrt.disabled=false

  
}

 }
 
 

</script>
<form name="form_name">    
 <input type="checkbox" name="agreed" onchange="enable()"> TEXT
    <br /><input type="submit"  name="add_fisrt" value="המשך" disabled />
    
    
</form> 
זה הקוד
פשוט מאוד ה CHECKBOX כאשר לוחצים עליו זה מפעיל ומנטרל את ה SUBMIT
מה שאני רוצה שאם ילחצו על הSUBMIT והוא מנוטרל זה יציג שגיאה
אם אני עושה ONCLICK על הSUMBIT זה לא עובד אם הוא מנוטרל

אשמח לעזרה
  Reply With Quote
ישן 31-05-13, 23:10   # 2
אביב
עסק רשום [?]
 
אביב's Avatar
 
מיני פרופיל
תאריך הצטרפות: Aug 2011
הודעות: 250
Send a message via Skype™ to אביב

אביב לא מחובר  

תקנו אותי אם אני טועה במרבית הדפדפנים המודרנים אירועי DOM לא אפשריים על שדות שהם מושבתים (disabled) - הדפדפן לא יודע שהוא קיבל לחיצה וגם לא יודע להעביר את אירוע הלחיצה.
פתרון שעלה לי לראש, אתה יכול לעטוף את הכפתור ב-DIV ולעקוב אחר הלחיצה עליו.
בהצלחה
__________________


חצור אתרים
LinkedIn | Gmail | Website

Last edited by אביב; 31-05-13 at 23:13..
  Reply With Quote
ישן 31-05-13, 23:21   # 3
אדיר
עסק רשום [?]
 
מיני פרופיל
תאריך הצטרפות: Mar 2008
מיקום: אשקלון
הודעות: 1,714

אדיר לא מחובר  

לכפתור תתן מראה של disabled באמצעות css ותחבר לו את הפונקציה הרצויה ב- onclick,
את הביטול של שליחת הטופס תבצע באמצעות האירוע onsubmit שלו.
  Reply With Quote
ישן 01-06-13, 10:11   # 4
Haimz
חבר וותיק
 
מיני פרופיל
תאריך הצטרפות: Sep 2010
הודעות: 1,221

Haimz לא מחובר  

אמור לעבוד ולעשות את העבודה:
HTML קוד:
<!DOCTYPE html>
<html>
<body>

<script>
function toggle()
{
    if(document.getElementById('agreed').checked)
    {
        document.getElementById("submit").disabled = "disabled";
    }
    else
    {
        document.getElementById("submit").removeAttribute("disabled");
    }
}
</script>

<input type="checkbox" id="agreed" onclick="toggle();" /> text<br />
<input type="submit" name="submit" id="submit" value="button" />

</body>
</html>
  Reply With Quote
ישן 01-06-13, 10:52   # 5
אדיר
עסק רשום [?]
 
מיני פרופיל
תאריך הצטרפות: Mar 2008
מיקום: אשקלון
הודעות: 1,714

אדיר לא מחובר  

זה לא יעבוד, כמו שאביב אמר - הדפדפן לא יריץ את זה כאשר הכפתור מוגדר כ- disabled.
http://jsfiddle.net/d6Rav
  Reply With Quote
ישן 01-06-13, 11:35   # 6
IgalSt
מנהל פורום, עסק רשום
 
IgalSt's Avatar
 
מיני פרופיל
תאריך הצטרפות: Oct 2005
מיקום: המרכז
גיל: 37
הודעות: 1,432
Send a message via Skype™ to IgalSt

IgalSt לא מחובר  

כמו שאדיר ציין, מאוד חשוב לבצע את הולידציה של משלוח הטופס לא על כפתור השליחה אלא על ארוע השליחה של הטופס, כלומר ארוע onsubmit.

למה?
כי הנחת העבודה שלנו צריכה להיות שלא משנה לנו כיצד המשתמש הגיע למצב שהטופס מנסה להשלח. במילים אחרות, לא משנה לנו אם המשתמש לחץ על כפתור "שלח", לחץ enter כשהוא באחד מה-Input-ים או שסקריפט javascript במקום אחר מנסה לשלוח את הטופס מסיבה לא ברורה.
בסופו של דבר, אנחנחו רוצים לעשות את הולידציה כששולחים את הטופס ויהי מה. לא כשלוחצים על כפתור השליחה ולא בשום פעולה/ארוע אחרים.
  Reply With Quote
ישן 02-06-13, 09:02   # 7
dabi
חבר וותיק
 
מיני פרופיל
תאריך הצטרפות: Dec 2007
הודעות: 1,767

dabi לא מחובר  

ציטוט:
נכתב במקור על ידי IgalSt צפה בהודעה
כמו שאדיר ציין, מאוד חשוב לבצע את הולידציה של משלוח הטופס לא על כפתור השליחה אלא על ארוע השליחה של הטופס, כלומר ארוע onsubmit.

למה?
כי הנחת העבודה שלנו צריכה להיות שלא משנה לנו כיצד המשתמש הגיע למצב שהטופס מנסה להשלח. במילים אחרות, לא משנה לנו אם המשתמש לחץ על כפתור "שלח", לחץ enter כשהוא באחד מה-Input-ים או שסקריפט javascript במקום אחר מנסה לשלוח את הטופס מסיבה לא ברורה.
בסופו של דבר, אנחנחו רוצים לעשות את הולידציה כששולחים את הטופס ויהי מה. לא כשלוחצים על כפתור השליחה ולא בשום פעולה/ארוע אחרים.
לא הבנתי
אז ניתן לעשות מה שאני מבקש? חוץ מלעטוף עם DIV שאז זה בעייתי יותר?
או שבאמת כאשר הכפתוןר מנוטרל לא ניתן?
  Reply With Quote
ישן 02-06-13, 23:26   # 8
אביב
עסק רשום [?]
 
אביב's Avatar
 
מיני פרופיל
תאריך הצטרפות: Aug 2011
הודעות: 250
Send a message via Skype™ to אביב

אביב לא מחובר  

ציטוט:
נכתב במקור על ידי dabi צפה בהודעה
לא הבנתי
אז ניתן לעשות מה שאני מבקש? חוץ מלעטוף עם DIV שאז זה בעייתי יותר?
או שבאמת כאשר הכפתוןר מנוטרל לא ניתן?
זה אפשרי אם אתה מעוניין ללכת ראש בקיר.
http://jsfiddle.net/zqNvQ/1/
__________________


חצור אתרים
LinkedIn | Gmail | Website

Last edited by אביב; 02-06-13 at 23:28..
  Reply With Quote
ישן 03-06-13, 12:59   # 9
dabi
חבר וותיק
 
מיני פרופיל
תאריך הצטרפות: Dec 2007
הודעות: 1,767

dabi לא מחובר  

ציטוט:
נכתב במקור על ידי אביב צפה בהודעה
זה אפשרי אם אתה מעוניין ללכת ראש בקיר.
http://jsfiddle.net/zqNvQ/1/
למה ראש בקיר? מה רע במה שעשית?
  Reply With Quote
ישן 03-06-13, 13:18   # 10
אביב
עסק רשום [?]
 
אביב's Avatar
 
מיני פרופיל
תאריך הצטרפות: Aug 2011
הודעות: 250
Send a message via Skype™ to אביב

אביב לא מחובר  

ציטוט:
נכתב במקור על ידי dabi צפה בהודעה
למה ראש בקיר? מה רע במה שעשית?
לא מדובר פה על "רע" ו-"טוב",
כמו שאדיר ויגאל אמרו onsubmit הוא אירוע המייצג שליחת טופס בין אם זה באמצעות כפתור Submit או כול טריגר שמפעיל את submit() (שים לב onsubmit מתייחס לאובייקט הטופס).
לעומת onclick שהוא אירוע יותר כללי - לחיצה על הכפתור השמאלי של העכבר.
תוכל לקרוא עוד כאן.
__________________


חצור אתרים
LinkedIn | Gmail | Website
  Reply With Quote
השב

חברים פעילים הצופים באשכול זה: 1 (0 חברים ו- 1 אורחים)
 


חוקי פירסום
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is מופעל
סמיילים הם מופעל
[IMG] קוד מופעל
קוד HTML מכובה

קפיצה לפורום


כל הזמנים הם GMT +2. הזמן כעת הוא 11:42.

מופעל באמצעות VBulletin גרסה 3.8.6
כל הזכויות שמורות ©
כל הזכויות שמורות לסולל יבוא ורשתות (1997) בע"מ