---
title: "Ja/Nej fråga"
type: "forum-thread"
url: "https://www.webforum.nu/amne/javascript/191432-ja-nej-fråga"
topic: "JavaScript"
topic_url: "https://www.webforum.nu/amne/javascript"
author: "Jester73"
published: "2013-06-24T11:23:32.000Z"
updated: "2014-04-08T12:54:44.000Z"
replies: 30
views: 3284
page: 1
pages: 2
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/javascript/191432-ja-nej-fråga"
---

# Ja/Nej fråga

_Sida 1 av 2._

## #1 — Jester73, 2013-06-24T11:23Z

Hej

En nybörjarfråga

Jag har precis börjat leka med JQuery på mina PHP produktioner tänkte bygga en Ja/Nej knapp/länk för ett forumlär.

Den bakomliggande databasegenskapen är boolean och jag tänkte med ett hidden formfield ändra värdet till True/False med hjälp av JQuery.
Du klickar på det synliga "JA" för att ändra till "NEJ" och reverserat.

Är det ens möjligt? Någon som har en bra ide om  hur det skulle se ut eller kan peka mig på en bra tutorial motsv. :)

Tack på förhand!

/J

Permalänk: https://www.webforum.nu/p/191432

## #2 — l-boy, 2013-06-24T11:33Z

```

<input type="button" data-value="true" value="Ja" />
<input type="button" data-value="false" value="Nej" />    
<input type="hidden" id="result" />

$(function() {    
    $('button').on('click', function() {        
        $('result').val( $(this).attr('data-value') );
    });    
});
```

Nåt sånt kanske?

Permalänk: https://www.webforum.nu/p/2312944

## #3 — voigtann1, 2013-06-24T11:43Z

```
<button name="ditt_namn" value="true">Ja</button>
<button name="ditt_namn" value="false">Nej</button>
```

Om du vill slippa HTML5 data attribut på knapparna.

och köra en toggle på om det skall visa ja eller nej knappen, annars kan du ju kolla på PHP om värdet på form datan är "Ja" så är det True annars alltid false.

Permalänk: https://www.webforum.nu/p/2312945

## #4 — Jester73, 2013-06-24T12:14Z

Jag tänkte mig en lösning med bara 1 knapp som byter värde och value när den trycks in.
och ja, hämta aktuellt värde från databasen alt. defaultvärde behöver den också göra.

Permalänk: https://www.webforum.nu/p/2312946

## #5 — Jester73, 2013-08-22T12:35Z

När jag provade denna

> Kod:
> \<button name="ditt_namn" value="true"\>Ja\</button\>
> \<button name="ditt_namn" value="false"\>Nej\</button\>
> Om du vill slippa HTML5 data attribut på knapparna.
> 
> och köra en toggle på om det skall visa ja eller nej knappen, annars kan du ju kolla på PHP om värdet på form datan är "Ja" så är det True annars alltid false.

så körde den submit på hela formuläret istället.
Testade i chrome

Permalänk: https://www.webforum.nu/p/2313722

## #6 — voigtann1, 2013-08-22T12:43Z

fungera inte i alla versioner av IE den kommer inte snappa upp name på button elemenetet

Permalänk: https://www.webforum.nu/p/2313723

## #7 — Jester73, 2013-08-22T12:55Z

Fan :) Måste testa lite mer innan jag skriver något.
Sätta in type="button" löste ju det problemet.

Permalänk: https://www.webforum.nu/p/2313724

## #8 — Jester73, 2013-08-22T12:58Z

> **[voigtann1 skrev:](https://www.webforum.nu/p/1560398)**
>
> ```
> <button name="ditt_namn" value="true">Ja</button>
> <button name="ditt_namn" value="false">Nej</button>
> ```
>
> Om du vill slippa HTML5 data attribut på knapparna.
> 
> och köra en toggle på om det skall visa ja eller nej knappen, annars kan du ju kolla på PHP om värdet på form datan är "Ja" så är det True annars alltid false.

och för att få till toggle så måste jag använda jQuery antar jag?
Kan jag inte bara ha en knapp som jag kan ändra attribut på om ex. värdet är true tillbaka till false osv.?

Permalänk: https://www.webforum.nu/p/2313725

## #9 — voigtann1, 2013-08-22T13:06Z

du kan skriva det i ren JS om du vill det, men jag kan tycka detta låter/känns som en radio-knapp hade passat rätt bra in i detta läget (eller bara en checkbox)?

Permalänk: https://www.webforum.nu/p/2313726

## #10 — Jester73, 2013-08-22T13:32Z

Skulle gärna bara köra med en checkbox men när checkboxen är tom så kommer den inte med i $\_POST från vilket jag bygger INSERT och UPDATE :)

Permalänk: https://www.webforum.nu/p/2313728

## #11 — voigtann1, 2013-08-22T13:35Z

fast det löser du ju på backend, om inte $\_POST värdet finns så är värdet 'false' annars är $\_POST värdet vad checkboxen är för värde ('true')

Permalänk: https://www.webforum.nu/p/2313729

## #12 — voigtann1, 2013-08-22T13:44Z

<http://php.voigt.se/sandbox/wf/Jester73/>

och källkoden är:

```
<form method="post" action="index.php">
	<input type="checkbox" value="true" name="ditt_namn">
	<button type="submit">Skicka</button>
</form>

<?
echo "värdet är: " . ($_POST["ditt_namn"] == "true" ? "true" : "false");
?>
```

Permalänk: https://www.webforum.nu/p/2313730

## #13 — Jester73, 2013-08-22T13:55Z

Varför funkar det för dig och inte för mig :)

Problemet jag stötte på var att var checkboxen tom så fanns inte ens nyckeln till checkboxen i $\_POST. Dvs hade jag klickat i den, uppdaterat databasen, och sedan klickat ur så hade värdet inte uppdaterats i databasen.

Skrev själv ut SQL satsen och då fanns inte den med i UPDATE strängen.

Permalänk: https://www.webforum.nu/p/2313731

## #14 — voigtann1, 2013-08-22T13:59Z

> **[Jester73 skrev:](https://www.webforum.nu/p/1567627)**
>
> Problemet jag stötte på var att var checkboxen tom så fanns inte ens nyckeln till checkboxen i $\_POST. Dvs hade jag klickat i den, uppdaterat databasen, och sedan klickat ur så hade värdet inte uppdaterats i databasen.

Nej, precis om men om den inte finns så vet du ju att värdet skall vara false (eller vilket värde du vill) i-boys exempel gör det du vill om du skall lösa det med Jquery.

Permalänk: https://www.webforum.nu/p/2313733

## #15 — Jester73, 2013-08-22T14:16Z

Problemet är att SQL frågan byggs upp av de nycklar som skickas in 

```php
function rensaFormular($addons){
	//Rensar bort formulärdata som inte skall läggas till databasen
	foreach($_POST as $key=>$value){
		if (substr_count($key, "exc_",0)==0) {
   			$cvalues[$key]=$value;
		}  
	}
	//Lägger till manuella värden från en array. array("Nyckel"=>Värde)
	If (!empty($addons)){
		foreach ($addons as $key1=>$value1){
			$cvalues[$key1]=$value1;
		}	
	}
	return $cvalues;
}
	
//Skapa en INSERT från formulär
function buildSQLInsert($tabell,$adds){
	$temp=rensaFormular($adds);
	$n=array_keys($temp);
	$v=array_values($temp);
	$nyckel=implode(", ",$n);
	$varde=implode("', '",$v);
	
	$sqlQ="INSERT INTO $tabell ($nyckel) VALUES ('$varde')";
	return $sqlQ;
}

//Skapa en UPDATE från formulär
function buildSQLUpdate($tabell, $urval){
	$temp=rensaFormular("");
	while (list($key, $val)=each($temp)){
		$tmpvalues=$tmpvalues." ".$key."='".$val."', ";
	}
	$tmpvalues=trim($tmpvalues);
	$tmpvalues=substr($tmpvalues,0,strlen($tmpvalues)-1);
	$sqlQ="UPDATE $tabell SET $tmpvalues $urval";
	return $sqlQ;
}
```

Men I-boys lösning borde kunna funka så här

```
<input type="button" name="mittnamn" data-value="true" value="Ja" />

$(function() {    
    $('button').on('click', function() {
      TESTA HÄR VILKET VÄRDE KNAPPEN HAR VID TRYCKNING. 
        $('mittnamn').val( $(this).attr('data-value') ); 
         $('mittnamn').val( $(Nej).attr('value') ); 
    });    
});
```

Märks hur bra jag är på jQuery va ;)

Permalänk: https://www.webforum.nu/p/2313734

## #16 — voigtann1, 2013-08-22T14:22Z

känns som det är mer en PHP problem än ett Javascript problem, men "mittnamn" i din $("mittnamn") försöker hitta \<mittnamn\> element, vilket inte alls finns. hur ser din HTML markup ut som "fungera"?

Permalänk: https://www.webforum.nu/p/2313735

## #17 — Jester73, 2013-08-22T14:45Z

Den sista kodbiten var bara ett exempel.
I teorin borde jag med ett tryck på knappen, via jQuery, kunna ändra från exempelvis

```
<button id="YN" name="StortB" value="true">Ja</button>
```

till

```
<button id="YN" name="StortB" value="false">Nej</button>
```

Det vore sexigt att få till det, kort sagt  :e

Permalänk: https://www.webforum.nu/p/2313736

## #18 — voigtann1, 2013-08-22T16:00Z

> **[Jester73 skrev:](https://www.webforum.nu/p/1567634)**
>
> Den sista kodbiten var bara ett exempel.
> I teorin borde jag med ett tryck på knappen, via jQuery, kunna ändra från exempelvis
>
>
> ```
> <button id="YN" name="StortB" value="true">Ja</button>
> ```
>
> 
> till
>
>
> ```
> <button id="YN" name="StortB" value="false">Nej</button>
> ```
>
> 
> 
> Det vore sexigt att få till det, kort sagt  :e

Om du struntar i ie stöd så bind:

```
$('button[name="StortB"]').on('click', function(e) {
	var value = this.value;
	this.value = value === "true" ? "false" : "true";
});
```

Permalänk: https://www.webforum.nu/p/2313740

## #19 — Jester73, 2014-04-07T11:29Z

> **[voigtann1 skrev:](https://www.webforum.nu/p/1567626)**
>
> <http://php.voigt.se/sandbox/wf/Jester73/>
> 
> och källkoden är:
>
>
> ```
> <form method="post" action="index.php">
> 	<input type="checkbox" value="true" name="ditt_namn">
> 	<button type="submit">Skicka</button>
> </form>
> 
> <?
> echo "värdet är: " . ($_POST["ditt_namn"] == "true" ? "true" : "false");
> ?>
> ```

Hur kommer det sig att din $\_POST innehåller "ditt_namn" som nyckel men inte min?

Permalänk: https://www.webforum.nu/p/2315887

## #20 — voigtann1, 2014-04-07T12:27Z

> **[Jester73 skrev:](https://www.webforum.nu/p/1570836)**
>
> Hur kommer det sig att din $\_POST innehåller "ditt_namn" som nyckel men inte min?

För att jag har ett name på min input element?

Permalänk: https://www.webforum.nu/p/2315889

---

Tråden på webben: https://www.webforum.nu/amne/javascript/191432-ja-nej-fråga  
Nästa sida: https://www.webforum.nu/amne/javascript/191432-ja-nej-fråga/page2.md
