אני מנסה לעשות חסימת תווים והגבלת תווים בכל הטפסים שלי באתר ע"י קריאה לפונקציה חמודה בלבד =]
הבעיות הן:
א. חסימת התווים לא עובדת כפי שצריך (פחות חשוב לי..) .
ב. אין התאמה בין שני השדות (במקרה הזה..), שדה הסיסמה עובד כפי שצריך ולעומת זאת שדה שם המשתמש לא.
אני יודע שיש כאן איזו בעיה כללית באיך שהגדרתי את כל הפונקציה, רק אני לא יודע בדיוק מה ואיך לתקן את הבעיה.
קוד HTML: (עזבו קודי PHP לא קשורים)
HTML קוד:
<div id="open_login" class="opens">
<form method="post" action="{$_SERVER['PHP_SELF']}">
<u><strong>התחברות</strong></u><br />
<div style="width:10%;float:right;line-height:22px;">שם משתמש:<br />סיסמה:</div>
<div style="width:20%;float:right;">
<input type="text" name="username_login" id="username_login" onkeyup="javascript:check_login()" /><br />
<input type="password" name="password_login" id="password_login" onkeyup="javascript:check_login()" autocomplete="off" /><br />
<input type="submit" name="submit_login" id="submit_login" value=" התחבר " disabled="disabled" style="height:25px;" />
</div>
<div id="username_login_errors" class="opens_errors">שדה זה חייב להכיל לפחות 3 תווים ולא לעלות על 15 תווים</div>
<div id="password_login_errors" class="opens_errors">שדה זה חייב להכיל לפחות 3 תווים ולא לעלות על 15 תווים</div>
</form>
</div>
קוד JS:
קוד:
function checks(c_value,c_errors,c_submit,c_dis) {
var checks_value = document.getElementById(c_value).value;
var checks_errors = document.getElementById(c_errors);
var checks_submit = document.getElementById(c_submit);
if((checks_value.length >= 3) && (checks_value.length <= 15)) {
checks_errors.style.color = "#008000";
checks_errors.innerHTML = "שדה זה תקין";
if((checks_value.match("%") == null) || (checks_value.match("'") == null) || (checks_value.match("\"") == null) || (checks_value.match("<") == null) || (checks_value.match(">") == null) || (checks_value.match("}") == null) || (checks_value.match("{") == null) || (checks_value.match(";") == null) || (checks_value.match("`") == null) || (checks_value.match("=") == null)) {
c_dis = 0;
}
else {
checks_errors.style.color = "#FF0000";
checks_errors.innerHTML = "שדה זה מכיל תווים אסורים";
c_dis = 1;
}
}
else {
checks_errors.style.color = "#FF0000";
checks_errors.innerHTML = "שדה זה חייב להכיל לפחות 3 תווים ולא לעלות על 15 תווים";
c_dis = 1;
}
if(c_dis == 0) {
checks_submit.disabled = false;
}
else {
checks_submit.disabled = true;
}
}
function check_login() {
checks('username_login','username_login_errors','submit_login',1);
checks('password_login','password_login_errors','submit_login',1);
}
*יש CSS להכל, פשוט אין טעם שאני אציג אותו כאן כי הוא לא מהווה בעיה.
תודה רבה רבה לכל מי שינסה לעזור,
