[JS] dodawanie a odejmowanie

0

Witam!

mam takiego forma:

<form name="chzam" action="index.php?settings" method="POST">
			<input type="button" name="prev" value="&lt;" onclick="cprev(this.from);" />
			<input type="text" name="y" size="4" value=2010 />
			<input type="text" name="c" size="2" value=13 />
			<input type="text" name="n" size="1" value=1 />
			<input type="button" name="next" value="&gt;" onclick="cnext(this.form);" />
			<br><input type="submit" name="sub1" value="Zapisz" /></form>

jak widać są tzry pola: y,c,n
coś podobnego do daty, ale c może mieć wartość od 1 do 18, natomiast n od 1 do 3.
przyciski < oraz > mają zwiększać/zmniejszać wartośc o 1n
(można myśleć o tym jako o zmniejszaniu/zwiększaniu daty o jeden dzień)

i takie funkcje js:

function cprev(tf) {
		if(tf.c.value==1) {
			if(tf.n.value==1) {
				tf.y.value=(tf.y.value*1)-1;
				tf.c.value=18;
				tf.n.value=3;
			}
			else {
				tf.n.value=(tf.n.value*1)-1;
			}
		}
		else {
			if(tf.n.value==1) {
				tf.c.value=(tf.c.value*1)-1;
				tf.n.value=3;
			}
			else {
				tf.n.value=(tf.n.value*1)-1;
			}
		}
	}
	function cnext(tf) {	
		if(tf.c.value==18) {
			if(tf.n.value==3) {
				tf.y.value=(tf.y.value*1)+1;
				tf.c.value=1;
				tf.n.value=1;
			}
			else {
				tf.n.value=(tf.n.value*1)+1;
			}
		}
		else {
			if(tf.n.value==3) {
				tf.c.value=(tf.c.value*1)+1;
				tf.n.value=1;
			}
			else {
				tf.n.value=(tf.n.value*1)+1;
			}
		}
	}

problem:
funkcja cnext działa, a cprev nie działa.
Dlaczego? przecież różnią się tylko tym że w jednej jest plus a w drugiej minus!

0

różnią się też jakimiś warunkami w if-ie..

 if(tf.c.value==18) {
                        if(tf.n.value==3) {
0
dzek69 napisał(a)

różnią się też jakimiś warunkami w if-ie..

 if(tf.c.value==18) {
                        if(tf.n.value==3) {

tak ale na tej samej zasadzie jakby zmieniać datę, czyli u mnie jest tak:
jeżeli pole n jest równe 3, i chcę zwiększyć o 1, to muszę zwiększyć pole c o 1, a polu n przypisać 1 (bo pole n ma max wartość 3).
natomiast przy zmniejszaniu tzreba sprawdzić czy pole ma minimalną możliwą wartość i jeżeli tak to odjąć 1 od poprzedniego pola.

btw pierwszy post mój - zapomiałem się zalogować.

1 użytkowników online, w tym zalogowanych: 0, gości: 1