Visa ett inlägg
Oläst 2009-12-22, 16:48 #2
qson qson är inte uppkopplad
Mycket flitig postare
 
Reg.datum: Sep 2006
Inlägg: 513
qson qson är inte uppkopplad
Mycket flitig postare
 
Reg.datum: Sep 2006
Inlägg: 513
Citat:
Ursprungligen postat av sandstream Visa inlägg
Hej!

Jag är usel på javascript men har iaf lyckats knåpa ihop en funktion som gör det jag vill men borde det inte gå att byta ut 10 IF-satser mot en och ha ett dynamiskt variabelnamn?

Det jag vill göra är att lägga ihop summan av 1 till 10 varibler, antalet varierar, för att se om totalen är mindre än 1 och då visa ett felmeddelande. Använder jQuery Form plugin för att hantera formuläret och hämta data med AJAX (det borde dock inte ha någon betydelse).

Så här ser koden ut:

function validate_crt(formData, jqForm, options) {
var antaltotal=0;
var form = jqForm[0];

if (form.antal1==undefined){}else{if (form.antal1.value>0) {antaltotal=antaltotal+form.antal1.value}}
if (form.antal2==undefined){}else{if (form.antal2.value>0) {antaltotal=antaltotal+form.antal2.value}}
if (form.antal3==undefined){}else{if (form.antal3.value>0) {antaltotal=antaltotal+form.antal3.value}}
if (form.antal4==undefined){}else{if (form.antal4.value>0) {antaltotal=antaltotal+form.antal4.value}}
if (form.antal5==undefined){}else{if (form.antal5.value>0) {antaltotal=antaltotal+form.antal5.value}}
if (form.antal6==undefined){}else{if (form.antal6.value>0) {antaltotal=antaltotal+form.antal6.value}}
if (form.antal7==undefined){}else{if (form.antal7.value>0) {antaltotal=antaltotal+form.antal7.value}}
if (form.antal8==undefined){}else{if (form.antal8.value>0) {antaltotal=antaltotal+form.antal8.value}}
if (form.antal9==undefined){}else{if (form.antal9.value>0) {antaltotal=antaltotal+form.antal9.value}}
if (form.antal10==undefined){}else{if (form.antal10.value>0) {antaltotal=antaltotal+form.antal10.value}}

if (antaltotal<1) {
alert('Skriv in önskat antal och klicka sedan på LÄGG I KUNDVAGNEN');
return false;
}
$('#kundvagn_submit').hide();
$('#kundvagn_submit_loading').show();
return true;
}


Några bra idéer?
Har "antal"-fälten bara namn eller har de ID också?
ex.
Kod:
<input type="text" name="antal2" id="antal2" value="" />
Då kan du göra en loop liknande detta...
PHP-kod:
function validate_crt(formDatajqFormoptions) {
  var 
antaltotal=0;

  for ( var 
1<= 10i++ ) {
    var 
input = $('antal'+i);
    if ( 
typeof input ) != 'undefined' && input.value )
      
antaltotal += input.value;
  }

  if (
antaltotal<1) {
    
alert('Skriv in önskat antal och klicka sedan på LÄGG I KUNDVAGNEN');
    return 
false;
  }
  $(
'#kundvagn_submit').hide();
  $(
'#kundvagn_submit_loading').show();
  return 
true;


Senast redigerad av qson den 2009-12-22 klockan 16:49 Anledning: [php] istället för [code] blir lättare att läsa...
qson är inte uppkopplad   Svara med citatSvara med citat