Avatar billede rdc Nybegynder
13. januar 2007 - 23:51 Der er 4 kommentarer og
1 løsning

Ændre på en variable, når en anden bliver ændret

Hejsa..

Jeg sidder og arbejder på en indkøbskurv, jeg tilføjer varerne med funktionen:

function AddToCart(thisForm) {
  var iNumberOrdered = 0;
  var bAlreadyInCart = false;
  var notice = "";
  iNumberOrdered = GetCookie("NumberOrdered");

  if ( iNumberOrdered == null )
      iNumberOrdered = 0;

  if ( thisForm.ID_NUM == null )
      strID_NUM    = "";
  else
      strID_NUM    = thisForm.ID_NUM.value;

  if ( thisForm.QUANTITY == null )
      strQUANTITY  = "1";
  else
      strQUANTITY  = thisForm.QUANTITY.value;

  if ( thisForm.PRICE == null )
      strPRICE      = "0.00";
  else
      strPRICE      = thisForm.PRICE.value;

  if ( thisForm.NAME == null )
      strNAME      = "";
  else
      strNAME      = thisForm.NAME.value;

  if ( thisForm.SHIPPING == null )
      strSHIPPING  = "0.00";
  else
      strSHIPPING  = thisForm.SHIPPING.value;


    if ( thisForm.ADDITIONALINFO == null ) {
    strADDTLINFO = "";
    } else {
    strADDTLINFO = thisForm.ADDITIONALINFO[thisForm.ADDITIONALINFO.selectedIndex].value;
    }

    if ( thisForm.ADDITIONALINFO2 != null ) {
    for (var i=0; i < thisForm.ADDITIONALINFO2.length; i++)
    {
    if (thisForm.ADDITIONALINFO2[i].checked)
    {
    var rad_val = thisForm.ADDITIONALINFO2[i].value;
    }
    }
    strADDTLINFO += "" + rad_val;
    }


  if ( thisForm.ADDITIONALINFO3 != null ) {
      strADDTLINFO += "; " + thisForm.ADDITIONALINFO3[thisForm.ADDITIONALINFO3.selectedIndex].value;
  }


    if ( thisForm.ADDITIONALINFO4 != null ) {
    for (var i=0; i < thisForm.ADDITIONALINFO4.length; i++)
    {
    if (thisForm.ADDITIONALINFO4[i].checked)
    {
    var rad_val = thisForm.ADDITIONALINFO4[i].value;
    }
    }
    strADDTLINFO += "" + rad_val;
    }

  //Is this product already in the cart?  If so, increment quantity instead of adding another.
  for ( i = 1; i <= iNumberOrdered; i++ ) {
      NewOrder = "Order." + i;
      database = "";
      database = GetCookie(NewOrder);

      Token0 = database.indexOf("|", 0);
      Token1 = database.indexOf("|", Token0+1);
      Token2 = database.indexOf("|", Token1+1);
      Token3 = database.indexOf("|", Token2+1);
      Token4 = database.indexOf("|", Token3+1);

      fields = new Array;
      fields[0] = database.substring( 0, Token0 );
      fields[1] = database.substring( Token0+1, Token1 );
      fields[2] = database.substring( Token1+1, Token2 );
      fields[3] = database.substring( Token2+1, Token3 );
      fields[4] = database.substring( Token3+1, Token4 );
      fields[5] = database.substring( Token4+1, database.length );

      if ( fields[0] == strID_NUM &&
          fields[2] == strPRICE  &&
          fields[3] == strNAME  &&
          fields[5] == strADDTLINFO
        ) {
        bAlreadyInCart = true;
        dbUpdatedOrder = strID_NUM    + "|" +
                          (parseInt(strQUANTITY)+parseInt(fields[1]))  + "|" +
                          strPRICE    + "|" +
                          strNAME      + "|" +
                          strSHIPPING  + "|" +
                          strADDTLINFO;
        strNewOrder = "Order." + i;
        DeleteCookie(strNewOrder, "/");
        SetCookie(strNewOrder, dbUpdatedOrder, null, "/");
        notice = strQUANTITY + " " + strNAME + strAdded;
        break;
      }
  }


  if ( !bAlreadyInCart ) {
      iNumberOrdered++;

      if ( iNumberOrdered > 12 )
        alert( strSorry );
      else {
        dbUpdatedOrder = strID_NUM    + "|" +
                          strQUANTITY  + "|" +
                          strPRICE    + "|" +
                          strNAME      + "|" +
                          strSHIPPING  + "|" +
                          strADDTLINFO;

        strNewOrder = "Order." + iNumberOrdered;
        SetCookie(strNewOrder, dbUpdatedOrder, null, "/");
        SetCookie("NumberOrdered", iNumberOrdered, null, "/");
        notice = strQUANTITY + " " + strNAME + strAdded;
      }
  }

  if ( DisplayNotice )
      alert(notice);
}


Jeg sidder så netop og roder med et lille system til et pizzaria, som indkøb af pizzaer osv..

Jeg vil så gerne have lavet en form for IF sætning, som gør at når jeg i min main fil, ændrer på ADDITIONALINFO2 som er to radio buttons, og de ser sådan her ud:

<input type="radio" name="ADDITIONALINFO2" value="Alm">
<input type="radio" name="ADDITIONALINFO2" value="Fam">

Så når ADDITIONALINFO2 er på Alm, så skal PRICE blive 29.00 .
og når ADDITIONALINFO2 er på Fam, så skal PRICE blive til 99.00 .


Håber i kan hjælpe mig... mvh tusind tak..
Avatar billede roenving Novice
14. januar 2007 - 13:29 #1
<input type="radio" name="ADDITIONALINFO2" value="Alm" onclick="this.form.PRICE.value='29.00';">
<input type="radio" name="ADDITIONALINFO2" value="Fam" onclick="this.form.PRICE.value='99.00';">
Avatar billede rdc Nybegynder
14. januar 2007 - 13:41 #2
roenving, når jeg indsætter radio buttons som du skriver, skal jeg så også have:

<input type=hidden name="PRICE" value="">

med i koden? For det virker nemlig ikke...
Avatar billede rdc Nybegynder
14. januar 2007 - 13:43 #3
eller undskyld, det virker nu :) Tusind tak for hjælpen... send et svar...

Jeg var kommet til at overse i koden at jeg bare havde overset at jeg havde ADDITIONALINFO stående et andet sted...
Avatar billede roenving Novice
15. januar 2007 - 02:42 #4
Velbekomme '-)
Avatar billede roenving Novice
17. januar 2007 - 00:30 #5
-- og tak for point ;~}
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester