Jump to content
php.lv forumi

Kursora atlikshana atpakalj uz invaliido lauku.


nauriz

Recommended Posts

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?

Link to comment
Share on other sites

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 by [Ya]
Link to comment
Share on other sites

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.

Link to comment
Share on other sites

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.

Link to comment
Share on other sites

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?

Link to comment
Share on other sites

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.

Link to comment
Share on other sites

×
×
  • Create New...