שלח תשובה

זירת השאלות

484
צפיות
12
תשובות

כפתור שליחת נתונים…

,‏ 16 בינואר, 2004

יש לי כפתור ששולח הודעה לפורום, הנה הקוד:


<input border="0" src="images/add.gif" name="I1" type="image">


איך אני יכול לעשות שאי אפשר יהיה ללחוץ על הכפתור איזה 20 פעמים רצוף ואז להציף את הפורום? יש אולי איזה ג'אווה סקריפט?
אין לי מושג איך לפתור את זה.

המון תודה לכם מהפפר

תגיות:

12 תשובות

  1. זהר פלד הגיב:

    כל כך פשוט שתרצה להרביץ לעצמך
    על זה שלא חשבת על הפתרון לבד:

    צור לך משתנה בוליאני (true/false) כללי בסקריפט. נקרא לו boolMsgSent, לצורך הדוגמא. בלחיצה על הכפתור תבדוק אם הוא מכיל false או true.
    אם הוא מכיל false – עוד לא נעשה נסיון שליחה, אפשר אותה, ושנה את הערך שלו ל true. אם הוא מכיל true – הרי שכבר נעשה נסיון שליחה אחד לפחות, ולכן פשוט לא תאפשר עוד אחד.

  2. mynameispepper הגיב:

    נשמע פשוט אבל…
    לעשות את זה בג'אווה סקריפט?
    איפה אפשר ללמוד על איך לישות את זה?

    אין לי כל כך מושג איפה להתחיל.

  3. ככה
    הטופס

    <form method=post action="bla.asp" onsubmit="return f()">

    הפונק'


    <script language="JavaScript">
    var bSendedFlag=false
    function f(){return (!bSendedFlag)}
    </script>

  4. mynameispepper הגיב:

    זה לא עובד לי…
    זו הפונקצייה שאני שולח אליה עם התוספת שנתתם לי:


    <script language="javascript">
    function FncSubmit()
    {
    var bSendedFlag=false
    var name=document.FrmAdd.name.value;
    if (name=="")
    {
    alert("àðà îìà àú ùîê")
    document.FrmAdd.name.focus()
    return false
    }

    return (!bSendedFlag)
    }
    </script>

    וככה נראה הטופס:


    <form name=FrmAdd action=add.asp method=post onsubmit="return FncSubmit()">

    מה פיספסתי?

    תודה

  5. הגדרת המשתנה
    צריכה להיות מחוץ לפונק'.

  6. mynameispepper הגיב:

    ייאוש, זה מסרב לעבוד לי…
    זה מה שעשיתי עכשיו:


    <script language="javascript">

    var bSendedFlag=false

    function FncSubmit()
    {
    var name=document.FrmAdd.name.value;
    if (name=="")
    {
    alert("àðà îìà àú ùîê")
    document.FrmAdd.name.focus()
    return false
    }

    return (!bSendedFlag)
    }
    </script>

    למה זה לא עובד? מה הבעייה פה?

  7. אשמתי, לא שיניתי את ערך המשנה.
    ככה


    <script language="javascript">

    var bSendedFlag=false

    function FncSubmit()
    {
    var name=document.FrmAdd.name.value;
    if (name=="")
    {
    alert("àðà îìà àú ùîê")
    document.FrmAdd.name.focus()
    return false
    }
    bSendedFlag=true
    return (!bSendedFlag)
    }
    </script>

  8. mynameispepper הגיב:

    מוזר, עכשיו לא קורה כלום כשלוחצים..
    על כפתור הוסף הודעה.
    פשוט אי אפשר ללחוץ על הכפתור – מופיע כלינק אבל כלום לא קורה.

  9. ניר טייב הגיב:

    למה להסתבך???
    כאן במדריך של DHTML יש הסבר לאיך לעשות שיתוק של Input ע"י התכונה disable כך :::

    <form method=post action="bla.asp" id="formi">
    <input border="0" src="images/add.gif" name="I1" type="image" onClick="f('I1','formi')">

    והפונק'


    function f(name,FormName){
    document.FormName.name.disabled=true
    }

  10. mynameispepper הגיב:

    גם לא עובד, הנה הקוד…

    <script language="javascript">
    function FncSubmit()
    {
    var subject=document.FrmAdd.subject.value;

    if (subject=="")
    {
    alert("àðà ä÷ìã ðåùà ìäåãòä")
    document.FrmAdd.subject.focus()
    return false
    }

    document.FrmAdd.I1.disabled=true
    }
    </script>

    לא משפיע על הכפתור בכלל.

  11. נסה ככה


    <script language="javascript">

    var bSendedFlag=false

    function FncSubmit()
    {
    var name=document.FrmAdd.name.value;
    if (name=="")
    {
    alert("àðà îìà àú ùîê")
    document.FrmAdd.name.focus()
    return false
    }
    if(!bSendedFlag){
    bSendedFlag=true
    return true;
    }else return false;
    }
    </script>

  12. mynameispepper הגיב:

    ייישששש!!!!! עובד, – תודה רבה לכם!!
    במיוחד לילדה בלבן שם…

שלח תשובה