Avatar billede tinaw25 Nybegynder
15. oktober 2013 - 12:10 Der er 4 kommentarer og
1 løsning

Hvordan tjekker man om både textbox og checkbox er valgt?

Hej

Jeg har at hvis man kun vælger en checkbox, skal den gøre noget

og hvis checkbox ikke er valgt skal den gøre noget andet.

Men hvordan får man sat at man ikke kan vælge checkbox og skrive noget i textbox. Man kan kun gøre den ene eller det andet.

if (CheckBox_standard.Checked)
        {
            Hvis chcckbox er tjekket, så skal den så gøre dette her
            Session["standard"] = StandardFrugter;
         

        }
        else if (CheckBox_standard != null)
        {
          Så bruge det der er indtastet i textbox
        }
Avatar billede keysersoze Guru
15. oktober 2013 - 19:28 #1
du skal vel så kun bruge en "else" i stedet for "else if"? Ellers prøv at forklare nærmere.
Avatar billede tinaw25 Nybegynder
15. oktober 2013 - 20:43 #2
Nej, det har jeg prøvet.

Jeg vil have at hvis checkbox er hakket af og man trykker på knappen skal den køre koden. Og hvis der står noget i textboxen, skal den køre den anden kode. Men skal ikke kunne hakke af i checkbox og samtidig kunne skrive noget i textbox.

protected void Button_putikurv_Click(object sender, EventArgs e)
    {
        string StandardFrugter = "Bruger har valgt standard mix";
        if (CheckBox_standard.Checked)
        {

            Session["standard"] = StandardFrugter;
            Response.Redirect("bekraeft.aspx");

        }
        else
        {
           
               
        int totalvaerdi = 0;
        int totalvaerdiGroent = 0;
        List<ValgtFrugt> valgteFrugter = new List<ValgtFrugt>(); //Her laver jeg en liste over valgte frugter. Det er et nyt objekt, som kan indeholde påde ID, Navn, Antal og Værdi
        List<ValgtGroent> valgteGroent = new List<ValgtGroent>();
        foreach (RepeaterItem item in VisProdukt.Items)
        {
            if (item.ItemType == ListItemType.Item || item.ItemType == ListItemType.AlternatingItem)
            {
                TextBox Textbox_antal = item.FindControl("TextBox_frugt") as TextBox;
                TextBox Textbox_groent = item.FindControl("TextBox_groent") as TextBox;
                if (Textbox_antal == null) continue; //Tekstboksen blev ikke fundet, så ingen grund til at lave mere her.
                if (Textbox_groent == null) continue;

                string frugtNavn = Textbox_antal.Attributes["FrugtNavn"]; //Det her skal vel være en streng!?
                int enkeltFrugtVaerdi = int.Parse(Textbox_antal.Attributes["FrugtVaerdi"]);

                string GroentNavn = Textbox_groent.Attributes["GroentNavn"]; //Det her skal vel være en streng!?
                int enkeltGroentVaerdi = int.Parse(Textbox_groent.Attributes["GroentVaerdi"]);

                if (Textbox_groent != null && Textbox_antal.Text != null)
                {
                    if (string.IsNullOrEmpty(Textbox_groent.Text))
                    {
                       
                        Textbox_groent.Text = "0";
                    }
                    if (string.IsNullOrEmpty(Textbox_antal.Text))
                    {
                        Textbox_antal.Text = "0";

                    }
                }
                if (Textbox_antal.Text != null)
                {
                   
                    if (string.IsNullOrEmpty(Textbox_antal.Text))
                    {
                        Textbox_antal.Text = "0";

                    }
                }

             
                int enkeltFrugtAntal = int.Parse(Textbox_antal.Text);
                int enkeltGroentAntal = int.Parse(Textbox_groent.Text);

                totalvaerdi += (enkeltFrugtVaerdi * enkeltFrugtAntal);
                totalvaerdiGroent += (enkeltGroentVaerdi * enkeltGroentAntal);

                if (enkeltFrugtAntal > 0)
                {
                    ValgtFrugt frugtenDerskalTilfoejes = new ValgtFrugt(); //Opret frugten og angiv værdier
                    frugtenDerskalTilfoejes.FrugtNavn = frugtNavn;
                    frugtenDerskalTilfoejes.FrugtVaerdi = enkeltFrugtVaerdi;
                    frugtenDerskalTilfoejes.Antal = enkeltFrugtAntal;
                    valgteFrugter.Add(frugtenDerskalTilfoejes);
                   
                }
                if (enkeltGroentAntal > 0)
                {
                    ValgtGroent GroentnDerskalTilfoejes = new ValgtGroent(); //Opret frugten og angiv værdier
                    GroentnDerskalTilfoejes.GroentNavn = GroentNavn;
                    GroentnDerskalTilfoejes.GroentVaerdi = enkeltGroentVaerdi;
                    GroentnDerskalTilfoejes.AntalGroent = enkeltGroentAntal;
                    valgteGroent.Add(GroentnDerskalTilfoejes);
                }
               
               
             
            }

        }

        if (totalvaerdi == 14 && totalvaerdiGroent == 7) //Det her skal vel være "Mindre end" eller lig 7, for ellers kan du bestille over 7 frugter
        {
            Session["ValgteFrugter"] = valgteFrugter;
            Session["ValgteGroent"] = valgteGroent;//Her lægger jeg dem bare i en session-variabel, så kan jeg lægge dem ind i databasen når det er bekræftet.
            Response.Redirect("bekraeft.aspx");

        }
       

        else
        {

            Label_vis.Text = "Du kan kun bestille 7 stk frugt";
        }
    }
    }
Avatar billede keysersoze Guru
17. oktober 2013 - 20:52 #3
Taler vi så om at du vil enable/disable felterne? I så fald er det vel mere en javascript-løsning du er ude i - ellers ville du skulle lave postback og det bliver nok lidt vel tungt.

Du ville så stadig ende op med bare en if/else-sætning - eventuelt hvor du først validerer at ikke begge felter af "active".
Avatar billede tinaw25 Nybegynder
19. oktober 2013 - 21:34 #4
Jeg vil bare have at der ikke sker noget når man vælger begge dele at der ikke sker noget, at den måske skriver du må kun vælge en ting
Avatar billede keysersoze Guru
19. oktober 2013 - 21:40 #5
if (CheckBox_standard.Checked && string.IsNullOrEmpty(dintekstbox.text))
{
  //checkboxkode
}
else if (!string.IsNullOrEmpty(dintextbox.text) && !CheckBox_standard.Checked)
{
  //textboxkode
}
else
{
  //ugyldigt valg
}
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
Kurser inden for grundlæggende programmering

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