715
צפיות
צפיות
8
תשובות
תשובות
שאלת כפתור
יש לי את קוד הטופס הבא:
<form name="login" method="post" action="ss.asp">
Username<br>
<input type name="username"><br>
Password<br>
<input type="password" name="password"><br><br>
<input type="button" value=" Log In " OnClick="javascript:details_send()">
</form>
הבעייה היא שאם מישהו ממלא את השדות ולוחץ ENTER זה לא שולח, אלא רק אם לוחצים על כפתור שלח עם הסמן (הכפתור קורא לפונקצייה בג'אווה סקריפט). אני רוצה שזה יישלח עם לחיצה על כפתור ה ENTER.איך עושים את זה?
8 תשובות
submit
במקום button אתה עושה submit, ואת הקריאה לפונקציה שבודקת נתונים – תקרא ב-onSubmit של <form>.
עובד, אבל יש בעייה חדשה
הטופס עובר דרך ה ג'אווה סקריפט אבל אפילו אם ני לא ממלא את השם אני מקבל הודעה למילוי השם ואז הטופס נשלח אוטומטית.
למה זה?
הפונקצייה
<script language="javascript">
function details_send()
{
if (checkAll(login))
{
login.submit()
}
}
</script>
תודה
באותה פונקציה תעשה תנאי וגם
ותבדוק האם ה Value של השדה == "", אם כן תחזיר false
אני חושב שלא בדיוק הבנת…
ברגע שיש לך כפתור submit, אתה כבר לא צריך לבצע submit ע"י סקריפט.
ב onSubmit בתג form תכתוב (return checkAll(login – ואז הטופס ישלח רק אם הפונקציה checkAll תחזיר true.
אבל אז הוא לא קורא לפונקצייה
function details_send()
{
אם כל מה שהיא מכילה זה מה שכתבת כאן
אז אתה לא צריך אותה בכלל – כי כמו שאמרתי לך – ברגע שיש לך לחיצה על כפתור submit, אתה לא צריך לבצע submit בעזרת js.
הסיבה שאני צריך אותה זה
יש קובץ JS חיצוני שהיא קוראת לו לבצע בדיקה. כך שהיא הכרחית.
אין שום קשר
ב-onsubmit של הטופס אתה יכול לקרוא גם לפונק' בקבצים חיצוניים.