OnClick -> zurück

Wenn du's selbst begreifen willst, dann vielleicht ja, aber nimm' doch bspw. folgendes Script:
PHP:
<script type="text/javascript">

count = 0;

function produkt() {
    if (count == 0){
	previous = document.form.text.value;
        document.form.text.value += 'Produkt1';
        count = 1;
    } else if (count == 1) {
        document.form.text.value = previous;
        count = 0;
    }
}
function produkt1() {
    if (count == 0){
	previous = document.form.text.value;
        document.form.text.value += 'Produkt2';
        count = 1;
    } else if (count == 1) {
        document.form.text.value = previous;
        count = 0;
    }
}
function produkt2() {
    if (count == 0){
	previous = document.form.text.value;
        document.form.text.value += 'Produkt3';
        count = 1;
    } else if (count == 1) {
        document.form.text.value = previous;
        count = 0;
    }
}
function produkt3() {
    if (count == 0){
	previous = document.form.text.value;
        document.form.text.value += 'Produkt4';
        count = 1;
    } else if (count == 1) {
        document.form.text.value = previous;
        count = 0;
    }
}
function produkt4() {
    if (count == 0){
	previous = document.form.text.value;
        document.form.text.value += 'Produkt5';
        count = 1;
    } else if (count == 1) {
        document.form.text.value = previous;
        count = 0;
    }
}
</ script>
(</ script> zusammen)

hth,
Geist
 
Wir können auch die komplexere Variante durchkauen, in welcher der gesamte String auseinandergenommen wird, bzw. nach ";)" durchsucht wird...

Oder was meinst du mit "keine 100%"?

Geist
 
ich mein damit, dass wenn ich produkt 1 stehen hab, 2 mal auf produkt 2 klicken muss, damit 2 drinsteht. besser wär natürlich mit einem klick löschen und einfügen. aber so ist mir auf jeden fall auch geholfen
 
das hat zwar jetzt nicht wirklich was mit diesem thema zu tun, aber soll auch nur ein kleiner verbesserungsvorschlag sein.
wieso definierst du count nicht einfach als boolesche variable? damit könnte man den code noch etwas abkürzen.

anstelle von
Code:
if (count == 0)
{
    // ...
    count = 1;
} else if (count == 1) {
    // ...
    count = 0;
}

würde das ganze dann so aussehen:
Code:
if (!count)
{
    // ...
} else {
    // ...
}
count = !count;


aber das auch nur so am rande. ;)
 
Joa asphyxia, Recht hast du, hatte damals nur vergessen, das "count" vorher im Script einzuführen, daher war's undefiniert... ;)

Hab' das Script jetzt mal weitestgehend gekürzt und dabei ist folgendes Beispiel einer HTML-Seite rausgekommen:
Code:
<html>
<head>
<script type="text/javascript" language="JavaScript">
<!--
var count;

function produkt(num) {	
    if (!count) {
	previous = document.form.text.value;
        document.form.text.value += "Produkt" + num;
        count = 1;
    } else if (count) {
        document.form.text.value = previous;
	document.form.text.value += "Produkt" + num;
    }
}
//-->
</script>
<title>Blubb</title>
</head>
<body>
<form name="form">
<input type="text" name="text">
</form>
<a href="javascript: produkt(1);">1</a>
<a href="javascript: produkt(2);">2</a>
<a href="javascript: produkt(3);">3</a>
<a href="javascript: produkt(4);">4</a>
<a href="javascript: produkt(5);">5</a>
</body>
</html>
(zwischen "javascript:" und "produkt..." das Leerzeichen muss natürlich weg :))
Denke mal, das ist die kürzeste und codesparendste Variante. :)

Bei Fragen fragen...

hth,
Geist
 
Hö?

Ja genau das wolltest du imo doch die ganze Zeit haben, dass mit einem Klick der vorige Smilie rausgenommen wird und der aktuelle dafür reingesetzt wird...!?

Erklär disch,
Geist
 
Zurück