| Subiectul anterior :: Subiectul următor |
| Autor |
Mesaj |
lilutz
Data înscrierii: 31/Oct/2007
Mesaje: 10
|
| Trimis: Mie Mar 05, 2008 8:04 am Titlul subiectului: Validare textbox array cu javascript?!?!?[REZOLVAT] |
|
|
Am urmatoare forma :
<form action="" name="comand" method="post" onsubmit="return validate()">
<input type='hidden' name='nr_comenzi' id="nr_comenzi" value="<?=$nrows?> "/>
<?
for ($i = 0; $i < $nrows; $i++ ) {
?>
<tr>
<td rowspan="2"><?=$results["NR"][$i]?></td>
<td rowspan="2"><?=$results["NRCOMANDA"][$i]?></td>
<td rowspan="2" align="center"><input size="2" maxlength="2" type="text" name="gest_<?=$i?>" id="gest_<?=$i?>" value="" /></td>
<td rowspan="2" align="center">
<input type="checkbox" name="check_<?=$i?>" />
</tr>
<?
}
?>
<tr>
<td><input type="submit" name="dat" value="Trimite" />
</td>
</tr>
</form>
<?
As vrea ca atunci cand apas pe trimite sa verifice daca gest_$i este completata (cu js)
Am incercat asa dar nu stiu ce nu-i in regula :
function validate_required(field,alerttxt)
{
with (field)
{
if (value==null||value=="")
{alert(alerttxt);return false}
else {return true}
}
}
//var curdate = new Date()
//var year = curdate.getYear()
function validate_form(thisform)
{
with (thisform){
var nr_comenzi = document.getElementById('nr_comenzi').value;
for( i =0; i < nr_comenzi; i++)
{ var gest=document.getElementById('gest_'+i);
var valoare = document.getElementById('gest_'+i).value;
if (validate_required(gest,"Te rog sa completezi gestiunea!")==false ){gest.focus();return false}
}
}
}
Mentionez ca nu-mi afiseaza nicio eroare , pur si simplu drece peste buton!
Va rog sa-mi dati o idee .Multumesc! |
|
| Sus |
|
dechim
Data înscrierii: 10/Mai/2005
Mesaje: 700
Locație: Drobeta Turnu Severin
|
| Trimis: Mie Mar 05, 2008 6:24 pm Titlul subiectului: |
|
|
Nu m-am uitat prea atent dar aici
<form action="" name="comand" method="post" onsubmit="return validate()">
nu trebuie :
<form action="" name="comand" method="post" onsubmit="return validate_form(this)"> |
|
| Sus |
|
lilutz
Data înscrierii: 31/Oct/2007
Mesaje: 10
|
| Trimis: Mie Mar 05, 2008 7:23 pm Titlul subiectului: |
|
|
Da .. am uitat sa schimb numele la functie aici .. dar nu e asta problema :(
si nici erori nu da ... trebuie sa finalizez aplicatia cat mai rpd si nu pot din
aceasta cauza ... |
|
| Sus |
|
griffin
Data înscrierii: 07/Dec/2006
Mesaje: 107
|
| Trimis: Mie Mar 05, 2008 9:04 pm Titlul subiectului: |
|
|
<input size="2" maxlength="2" type="text" name="gest_<?=$i?>" id="gest_<?=$i?>" value="" />
asta ar trebui sa arate ceva de genul (pentru i=1)
<input size="2" maxlength="2" type="text" name="gest_1>" id="gest_1" value="" />
Eu as face asa:
function validate(alertTxt){
ref=document.command.getElementByTagName('input');
n=ref.length;
for(i=0; i<n; i++){
if(ref[i].type=='text'){
if(ref[i].value=='')
alert(alertTxt);
}
}
}
Ce faci aici:
preiei in ref toate inputurile si caut inputurile de tip text si vezi daca sunt completate (ref[i].type=='text').Daca vrei sa verifici checkbox doar pui in loc de ref[i].type=='text' ,ref[i].type=='checkbox'.Daca vrei sa afli exact pentru inputurile cu nume ca "gest_" poti sa schimbi for-ul cu ceva de genul:
for(i=0; i<n; i++){
x=ref[i].name;
if(x.substring(0,5)=="gest_"){
if(ref[i].value=='')
alert(alertTxt);
}
}
Sper sa-ti fie de folos |
|
| Sus |
|
lilutz
Data înscrierii: 31/Oct/2007
Mesaje: 10
|
| Trimis: Mie Mar 05, 2008 9:22 pm Titlul subiectului: |
|
|
| Multumesc foarte mult ! Abia astept sa ajung maine la " scarbici" :lol: sa testez ! Oricum voi anunta rezultatul . |
|
| Sus |
|
griffin
Data înscrierii: 07/Dec/2006
Mesaje: 107
|
| Trimis: Mie Mar 05, 2008 9:53 pm Titlul subiectului: |
|
|
Uite aici un exemplu complet (l-am testat si daca nu completezi iti da alert)
<html>
<head>
<script type="text/javascript">
function validate(txt){
ref=document.command.getElementsByTagName("input");
n=ref.length;
for(i=0; i<n; i++){
nume=ref[i].name;
if(nume.substring(0,5)=="gest_"){
if(ref[i].value=="")
alert("campul e gol "+nume);
}
}
}
</script>
</head>
<body>
<form name="command" action="" method="post">
<table>
<tr><td>Input 1</td><td><input type="text" name="gest_1"></td></tr>
<tr><td>Input 2</td><td><input type="text" name="gest_2"></td></tr>
<tr><td>Checkbox 1</td><td><input type="checkbox" name="check_1"></td></tr>
<tr><td>Input 3</td><td><input type="text" name="gest_3"></td></tr>
<tr><td>Input 4</td><td><input type="text" name="gest_4"></td></tr>
<tr><td>Checkbox 2</td><td><input type="checkbox" name="check_2"></td></tr>
<tr><td>Input 5</td><td><input type="text" name="gest_5"></td></tr>
<tr><td colspan='2'><input type='button' name="button" value='validate' onclick="validate();"></td></tr>
</table>
</form>
</body>
</html> |
|
| Sus |
|
lilutz
Data înscrierii: 31/Oct/2007
Mesaje: 10
|
| Trimis: Joi Mar 06, 2008 9:39 am Titlul subiectului: |
|
|
| Mersi mult ! Merge ... dar ar mai fi o probl .. sa le verifice doar pe cele ptr care chekbox-urile aferente(adica check_<?i?> ) sunt selectate ( checked). Am incercat in fel si chip .. dar ceva imi scapa .. recunosc ca nu prea m-am jucat cu js -urile pana acum.. :oops: |
|
| Sus |
|
lilutz
Data înscrierii: 31/Oct/2007
Mesaje: 10
|
| Trimis: Joi Mar 06, 2008 10:01 am Titlul subiectului: |
|
|
| Mersi mult ! Merge ... dar ar mai fi o probl .. sa le verifice doar pe cele ptr care chekbox-urile aferente(adica check_<?i?> ) sunt selectate ( checked). Am incercat in fel si chip .. dar ceva imi scapa .. recunosc ca nu prea m-am jucat cu js -urile pana acum.. :oops: |
|
| Sus |
|
griffin
Data înscrierii: 07/Dec/2006
Mesaje: 107
|
| Trimis: Joi Mar 06, 2008 11:13 am Titlul subiectului: |
|
|
function validate(txt){
ref=document.command.getElementsByTagName("input");
n=ref.length;
for(i=0; i<n; i++){
nume=ref[i].name;
if(nume.substring(0,5)=="gest_"){
if(ref[i].type=="checkbox" && ref[i].checked==true)
if(ref[i].value=="")
alert("campul e gol "+nume);
}
}
Uite asta e ce-ti trebuie (adauga asta ca mai sus)
if(ref[i].type=="checkbox" && ref[i].checked==true) |
|
| Sus |
|
lilutz
Data înscrierii: 31/Oct/2007
Mesaje: 10
|
| Trimis: Joi Mar 06, 2008 12:59 pm Titlul subiectului: |
|
|
:lol: am incercat si eu asa .. dar cum crezi ca intra in if(ref[i].type=="checkbox" && ref[i].checked==true)
daca ref[i].name.substring(0,5)=='gest_'?
type n-o sa fie niciodata in cazul asta checkbox:((
Am incercat si-n alte feluri dar datorita faptului ca merge pana la nr de taguri de tip input
nu stiu cum sa asociez inputului de tip text pe cel de tip checkbox aferent.. nu stiu daca-am fost destul de explicita ..
M-am mai gandit .. daca se merge pana la nr de inreg returnate din tabela atunci ptr gest_1 de exemplu checkboxul coresp este check_1
adica as putea face o verificare dupa i .. si-as putea spune ca gest_i.value= "" && check_i . checked ..
dar din pacate asta e doar teoretic ptr ca nu stiu cum s-o implementez |
|
| Sus |
|
griffin
Data înscrierii: 07/Dec/2006
Mesaje: 107
|
| Trimis: Joi Mar 06, 2008 1:36 pm Titlul subiectului: |
|
|
Face ceea ce vrei.Spor
<html>
<head>
<script type="text/javascript">
function validate(txt){
ref=document.command.getElementsByTagName("input");
n=ref.length;
for(i=0; i<n; i++){
if(ref[i].type=="checkbox" && ref[i].checked==true){
alert("checked "+ref[i].name);
nume=ref[i+1].name;
if(nume.substring(0,5)=="gest_"){
if(ref[i+1].value=="")
alert("campul e gol "+nume);
}
}
}
}
</script>
</head>
<body>
<form name="command" action="" method="post">
<table>
<tr><td>Check 1</td><td><input type="checkbox" name="check_1"></td></tr>
<tr><td>Input 1</td><td><input type="text" name="gest_1"></td></tr>
<tr><td>Check 2</td><td><input type="checkbox" name="check_2"></td></tr>
<tr><td>Input 2</td><td><input type="text" name="gest_2"></td></tr>
<tr><td>Check 3 </td><td><input type="checkbox" name="check_3"></td></tr>
<tr><td>Input 3</td><td><input type="text" name="gest_3"></td></tr>
<tr><td>Check 4</td><td><input type="checkbox" name="check_4"></td></tr>
<tr><td>Input 4</td><td><input type="text" name="gest_4"></td></tr>
<tr><td>Checkbox 5</td><td><input type="checkbox" name="check_5"></td></tr>
<tr><td>Input 5</td><td><input type="text" name="gest_5"></td></tr>
<tr><td colspan='2'><input type='button' name="button" value='validate' onclick="validate();"></td></tr>
</table>
</form>
</body>
</html> |
|
| Sus |
|
lilutz
Data înscrierii: 31/Oct/2007
Mesaje: 10
|
| Trimis: Joi Mar 06, 2008 1:44 pm Titlul subiectului: |
|
|
L-am facut ! Oricum nu m-as fi descurcat fara ideea ta :
function validate(txt){
ref=document.getElementsByTagName("input");
n=ref.length;
for(i=0; i<n-1; i++) {
j=i+1;
nume=ref[i].name;
nume1=ref[j].name;
if(nume.substring(0,5)=="gest_" && ref[j].type=="checkbox"){
if(ref[j].checked==true)
if(ref[i].value=="")
alert("campul e gol "+nume);
}
} }
Multumesc mult! |
|
| Sus |
|
PHPRomania Bot
Bot Member
Data înscrierii: 27/Dec/2007
Mesaje: 1
Locaţie: Server Google |
| Trimis: Mie Dec 26, 2007 7:01 pm Titlul subiectului: Ad |
|
|
|
|
|
| Sus |
|
| |