nauriz Posted June 19, 2006 Report Posted June 19, 2006 Mekleeju pa forumu, neko neatradu. Googlee atradu daudz, bet nekas no taa neshancee. Taatad lieta taada, man ir funkcija, kas paarbauda vai ievads ir skaitlis, ja ir skaitlis, tad vinja atgriezh true, ja nav skaitlis, tad vinja atgriezh false, bet gribeetos arii, ja nav skaitlis, tad lai kursors tiktu atlikts atpakalj uz to lauku. Meegjinaaju shitaa: 1. <input name="ar1" type="text" size="4" maxlength="4" onBlur="java script:if (CheckNumeric(this)==false) docoument.form[0].ar1.focus();" /> 2. <input name="ar1" type="text" size="4" maxlength="4" onBlur="java script:if (CheckNumeric(this)==false) this.focus();" /> Un veel ntos veidos, nekaadi nestraadaa. Varbuut kaadam ir kaadi priekshlikumi?
[Ya] Posted June 19, 2006 Report Posted June 19, 2006 (edited) tev jau jaapaarbauda to kas ir ierakstiits nevis pats elements, tapeec paarbaudi this.value (ievadītais teksts) nevis this (input laika elements) es piem. lietoju nedaudz savādāk : function check(lauks) { if(!lauks.value.match(/^\d+$/) { lauks.value=lauks.value.substr(0,lauks.value.length-1); } } attiecīgi Inputlauks: <input type='text' name='whatever' onkeyup="check(this)" /> šī funkcija neļaus ierakstīt neko kā tikai ciparus .. ja rakstīs kautko citu tad pēdējais simbols tiek dzēsts nost .... Edited June 19, 2006 by [Ya]
v3rb0 Posted June 19, 2006 Report Posted June 19, 2006 iekš f-jas CheckNumeric() pirms return false; pieliec this.focus(); this.style.backgroundColor='red'; un nekādus ifus iekš onBlur eveneta neraksti.
nauriz Posted June 19, 2006 Author Report Posted June 19, 2006 v3rb0 izdariiju kaa Tu rakstiiji - nestraadaa. Tapeec re ku ir funkcija: function CheckNumeric(objekts) { var ValidChars = "0123456789."; var IsNumber=true; var Char; var sText=objekts.value; for (i = 0; i < sText.length && IsNumber == true; i++) { Char = sText.charAt(i); if (ValidChars.indexOf(Char) == -1) { IsNumber = false; this.focus(); this.backgroundColor='red'; alert('Ievadiet skaitli no 0-100!'); } } return IsNumber; } Un te ir kur es vinju izsaucu: <input name="ar1" type="text" size="4" maxlength="4" onBlur="CheckNumeric(this)" /> Ja sanaak varbuut iemetat aci un pasakat man, kur ir kljuuda.
nauriz Posted June 19, 2006 Author Report Posted June 19, 2006 Nereagjee - pilniigi nekas nenotiek, kursors paariet uz naakosho lauku un sarkanu arii neiekraaso to ieprieksheejo.
nauriz Posted June 19, 2006 Author Report Posted June 19, 2006 Lieta taada, ja es to funkciju izsaucu un tas alert('Ievadiet skaitli no 0-100!') paliek, tad vinjsh to fokusu nepaarliek uz naakosho, bet visu laiku metaas tas pazinjojums - Ievadiet skaitli no 0-100!, rekursiivi, tas rakstiits arii JavaScript konsolee. Ja es iznjemu to alert, tad tas lauks iekraasojaas sarkans, bet fokuss nepaliek, bet paariet uz naakosho. Galiigi nesaprotu kapeec vinjsh to fokusu negrib atstaat tajaa invaliidajaa laukaaa.
nauriz Posted June 19, 2006 Author Report Posted June 19, 2006 Tiku tik taalu, ka objekts nevar sev iedot fokusu, ja vinjam vinjsh jau ir un taapeec arii man vinjsh uzreiz paarlec uz naakosho. Izdomaaju, ka vispirms vareetu to fokusu paarmest uz kaadu citu objektu un tad iedot atpakalj invaliidajam objektam, bet te ir viens bet - JavaScript Consoleee taads paliels errors: Error: [Exception... "'Permission denied to set property XULElement.selectedIndex' when calling method: [nsIAutoCompletePopup::selectedIndex]" nsresult: "0x8057001e (NS_ERROR_XPC_JS_THREW_STRING)" location: "JS frame :: http://localhost/softs/tests.php :: CheckNumeric :: line 24" data: no] Source File: http://localhost/softs/tests.php Line: 24 Mozh kaadam ir kaadas idejas attieciibaa uz sho?
bubu Posted June 19, 2006 Report Posted June 19, 2006 Labais GUI veidošanas stils nosaka, ka nevajag čakarēt lietotāju ar inputa fokusu un atļaut ievadīt viņam ko viņš vēlās tajos lauciņos (izņēmumi ir ļoti specifiski). Kontroli viekt tikai pie pogas OK nospiešanas (formas submita) un tad norādīt nepareizos lauciņus (piemēram sarkanus). Labs stils ir nevis čakarēt lietotāju ar fokusa maiņu, bet tikai ar lauciņa iekrāsošanu.
Recommended Posts