david-ի խոսքերից
Այսպիսի մի իրավիճակ.
Ունենք ֆորմա ( մի քանի դաշտերով ): JavaScript ով ստուգում եմ ամպայման լրացվող դաշտերը, որից հետո նոր թույլատրում submit - ը(php - ով մուտքագրում եմ շտեմարանի մեջ): Սակայն refresh անելուց նույն տվյալները երկրորդ անգամ մուտքագրվում են շտեմարան: Այս հարցը լուծվեց php redirect( refresh ) - ի միջոցով: -- header('. . . ') --
Հիմա հակարգը դիտենք մյուս կողմից: Եթե ամպայման դաշտերից որևէ մեկը լրացված չէ. էկրանին հայտնվում է javascript - ով սահմանված հաղորդագրությունը: Սեղմելով OK կոճակը այդ էջը կրկին գեներացվում է: ԲԱՅՑ աշխատում է նաև redirect - ը, որը իր հերթին դատարկում է արդեն լրացված դաշտերը: Անկեղծ որ ասեմ առանց redirect - ի էլ OK - ը սեղմելուց հետո, դաշտերը դատարկվում են:
Ինչպես անել, որ դաշտերը չդատարկվեն, իհարկե չմոռանալով շտեմարան երկրորդ անգամ չգրառելու մասին:
ևս մեկ շատ կարևոր հարց: Ողջ համակարգը ամպայման պետք է աշխատի IE - ով:
Եթե դժվարությւն չի ներկայացնի, կխնդրեմ օգնել կոդերով, հնարավորությոն դեպքում:
Անձամբ ինքս իմ կոդերը ուղարկել չեմ կարողանա, որովհետև կտորը առանձնացնել չեմ կարող:
JS-ը էս տեսքով համ բոլոր բրաուզերների համար կաշխատի համել կարաս ինչքան ուզես input տարածքներ տաս , ուշադիր եղի w-ների ու i-ի քանակին ու իրար համապատասխանությանը , alert-ի տեքստերը կփոխես , համել w-ի արժեքները կտաս համապատասխան քո form-իդ :
Էսա քեզ գործող օրինակ , որը աշխատում է իմ ծրագիրներիս մեկում `
Կոդ:
<script language="javascript">
function missing(evt){
var w01= document.r01.login.value;
var w02= document.r01.pass01.value;
var w03= document.r01.pass02.value;
var w04= document.r01.name_arm.value;
var w05= document.r01.name_rus.value;
var w06= document.r01.name_eng.value;
var w07= document.r01.mail.value;
var w08= document.r01.img_cod.value;
var w_arr=new Array(w01,w02,w03,w04,w05,w06,w07,w08);
var i01=" Missed Login";
var i02=" Missed password";
var i03=" Missed password";
var i04=" Missed Firstname (HY)";
var i05=" Missed Firstname (RU)";
var i06="Missed Firstname (EN)";
var i07=" Missed E_mail";
var i08=" Missed COD ";
var i_arr=new Array(i01,i02,i03,i04,i05,i06,i07,i08);
for (var g=0 ; g<8 ; g++)
{
if(w_arr[g]==""){alert(i_arr[g]);
var browser = navigator.userAgent.toLowerCase();
if((browser.indexOf("msie") != -1) ||
(browser.indexOf("opera") != -1))br='ie';
if((browser.indexOf("firefox") != -1) ||
(browser.indexOf("netscape") != -1))br='nav';
if(br=='ie')evt.returnValue=false;
if(br=='nav')evt.preventDefault();}
}
}
</script>
<form action="?.php" method="post" name="r01" onsubmit="missing(event)">
....
..
</form>
Էջանիշներ