webForumDet fria alternativet

Aktivera knapp - med knapptryckning?

15 svar · 2 351 visningar · startad av streetrobban

streetrobbanMedlem sedan jan. 20011 184 inlägg
#1

Hej!

Jag har två knappar, knapp 1 och knapp 2. Knapp 1 är länkad till att öppna en nya sida (target="_blank") och knapp2 leder besökaren till en annan sida.

Jag undrar om någon kan hjälpa mig med följande. Jag vill att knapp 2 ska vara inaktiverad tills det att man trycker på knapp 1.

Tack på förhand.

voigtann1Medlem sedan juni 20018 810 inlägg
#2

med jquery:

$("#knapp1").one('click', function() { $("#knapp2").removeAttr("disabled");});

Där du har satt i din HTML kod att #knapp2 är disabled

streetrobbanMedlem sedan jan. 20011 184 inlägg
#3

Och hur får man in det i ett sammanhang som jag kan förstå? :) Jag har inte gjort knapp 2 disabled än. Både knapp 1 och knapp 2 är vanliga bilder som är länkade.

voigtann1Medlem sedan juni 20018 810 inlägg
#4

#knapp1 => element som har ett id="knapp1"
#knapp2 => bör vara en input,button som kan ha disabled som ett attribut.

annars:

$("#knapp1").one('click', function( ) {
	$("#knapp2").bind("click", function( ) {
		/**** MAGIC ****/
	});
});

Så när trycker på #knapp1 binder vi #knapp2's click-event så att den kan göra något.

streetrobbanMedlem sedan jan. 20011 184 inlägg
#5

Hmm okej, jag har lagt in scriptet du skrev inom <header> taggen:

<script type="text/javascript">
$("#knapp1").one('click', function( ) {
	$("#knapp2").bind("click", function( ) {
		/**** MAGIC ****/
	});
});
</script>

Och skapat två knappar enligt följande:

<input type="submit" id="knapp1" name="knapp1" value=" Skriv ut ">&nbsp;&nbsp;<input type="submit" id="knapp2" name="knapp2" value=" Gå vidare " disabled>

Är jag på rätt väg?

voigtann1Medlem sedan juni 20018 810 inlägg
#6

jo, fast du behöver köra DOM-ready med koden om du ha det i head

$(function( ) {

$("#knapp1").one('click', function( ) {
	$("#knapp2").bind("click", function( ) {
		/**** MAGIC ****/
	});
});

});

Sen ersätt kommentaren med något häftigare ;)

streetrobbanMedlem sedan jan. 20011 184 inlägg
#7

Hehe okej. Som du vet voigtann är jag nollställd när det gäller javascript och jQuery så du får gärna hjälpa mig mer med koden :)

martinwahlstromMedlem sedan feb. 20111 inlägg
#8

Duger inte vanligt javascript: ;)

<HTML>
<HEAD>
<script type="text/javascript">
function test() {
	document.getElementById("knapp2").disabled=false;
}
</script>
</HEAD>

<BODY>
<input type="submit" id="knapp1" name="knapp1" value=" Skriv ut" onclick="test()">
<input type="submit" id="knapp2" name="knapp2" value=" Gå vidare " disabled>
</BODY>
</HTML>

Martin/

voigtann1Medlem sedan juni 20018 810 inlägg
#9

Klart det gör, men jag hatar att blanda JS kod inne i HTML koden, samma sak när det gäller CSS saker.

@streetrobban vad är det som skall hända på knapp2 då?

streetrobbanMedlem sedan jan. 20011 184 inlägg
#10

martinwahlstrom: Det där fungerade ju alldeles prima! Finns det något sätt att få in så att ett nytt fönster öppnas med en förbestämd adress samtidigt som test() körs när man trycker på knapp1?

voigtann1Medlem sedan juni 20018 810 inlägg
#11

streetrobban skrev:

martinwahlstrom: Det där fungerade ju alldeles prima! Finns det något sätt att få in så att ett nytt fönster öppnas med en förbestämd adress samtidigt som test() körs när man trycker på knapp1?

@streetrobban, gör mig den lilla tjänst att inte skriva som Martin skriver, ha inte javascript blandat i din html kod.

Bygg hellre ut jquery (eftersom du redan kör det):

$(function( ) {

$("#knapp1").one('click', function( ) {
	$("#knapp2").bind("click", function( ) {
		/**** MAGIC ****/
	}).removeAttr("disabled");
	//Javascript open window:
	window.open("minurl");
});
});
streetrobbanMedlem sedan jan. 20011 184 inlägg
#12

voigtann1 skrev:

@streetrobban, gör mig den lilla tjänst att inte skriva som Martin skriver, ha inte javascript blandat i din html kod.

Bygg hellre ut jquery (eftersom du redan kör det):

$(function( ) {

$("#knapp1").one('click', function( ) {
	$("#knapp2").bind("click", function( ) {
		/**** MAGIC ****/
	}).removeAttr("disabled");
	//Javascript open window:
	window.open("minurl");
});
});

För mig spelar det ingen roll vilken kod som används, så länge den fungerar :) Men med din kod får jag inte ihop funktionen riktigt. Kan du hjälpa mig att komplettera koden så funktionen funkar?

voigtann1Medlem sedan juni 20018 810 inlägg
#13

Du skickar bara dina knappar, eftersom dom är submit knappar så kommer den vilja posta formuläret, vilket du inte vill, lagt upp kod: http://voigt.se/sandbox/wf/streetrobban/print.html

knapp2 vet jag inte vad du vill skall göra så jag kör bara att den inte gör något fortfarande.

streetrobbanMedlem sedan jan. 20011 184 inlägg
#14

Oj nu är vi nästan där! Knapp2 ska bara öppna en sida när man trycker på den.

voigtann1Medlem sedan juni 20018 810 inlägg
#15

byt ut magic till vad du vill att knapp2 skall göra när du trycker på den, om det är ett nytt fönster som skall öppnas kör du window.open eller om den skall fungera så att du gå till en sida(som en vanlig länk)så kan du köra window.location

streetrobbanMedlem sedan jan. 20011 184 inlägg
#16

Tack för hjälpen voigtann1, det funkade ju super :)

Genererad på 391 ms · cache AV · v20260730165559-full.f96bc7eb