Just nu i M3-nätverket
Gå till innehåll
jan-erik

jquery

Rekommendera Poster

jan-erik

jg har börjat lära mej lite om jquery, och skulle gärna vilja ha lite hjälp med följande:

jag har ett formulär:

 

<form>
<input name="logpswx" id="pswx" type="password" size="6" maxlength="6" style="background-color: #aabbcc;" />
<input name="sndlog" type="button" value="login"
onclick='var psw=$("#pswx");alert(psw);'  />
</form>

 

jag skriver in nåt och klickar o får av alert: [object Object] i stället för det inslagna värdet.

Säkert nåt hemskt enkelt.

 

Dela detta inlägg


Länk till inlägg
Dela på andra webbplatser
Jonas__B

var psw = $("psw").val();

 

 

Hade inte du en liknande fråga för inte så länge sedan?

 

jquery gör sig bäst i head, anser jag.

Mycket överskådligare också, vilka funktioner och metoder man använder sig av.

 

Ta bort all onclick m m i markupen, lägg till ett id för inloggningsknappen och lägg istället till detta i head-avsnittet

<script type="text/javascript">
$().ready(function(){
 $("#loginbutton").click(function(){
   var psw = $("#psw").val();
   alert(psw);
 });
});
</script>

 

Dela detta inlägg


Länk till inlägg
Dela på andra webbplatser
jan-erik

tack jonas! kom på rätt spår! Är poängsystemet borta?

 

Dela detta inlägg


Länk till inlägg
Dela på andra webbplatser
Jonas__B

Nej, du får gå in på tråden genom att klicka på trådens rubrik ("SVAR: jquery" i detta fall )

 

Poäng gillar jag :):thumbsup:

 

Dela detta inlägg


Länk till inlägg
Dela på andra webbplatser
jan-erik

Måste finnas nån liten mackagrejs kvar, det händer lixom inget.

Så här ser formulärknapparna ut:

<input name="logpswx" id="psw" size="6" maxlength="6">
<input name="sndlog" id="loginbutton" type="button" value="login">

 

Så här ser scriptet ut som jag lagt sist i head:

<script type="text/javascript">
$().ready(function(){
 $("#loginbutton").click(function(){
   var psw = $("#psw").val();
   alert(psw);
 });
});
</script>

 

Det kommer inte nån alert!

 

 

 

Dela detta inlägg


Länk till inlägg
Dela på andra webbplatser
Jonas__B

och du har väl

<script src="jquery.js" type="text/javascript"></script>

i Head också antar jag?!

 

Får du felmeddelande?

 

Dela detta inlägg


Länk till inlägg
Dela på andra webbplatser
jan-erik

javisst, andra jq.funktioner funkar.

 

Dela detta inlägg


Länk till inlägg
Dela på andra webbplatser
jan-erik

Jonas_Bo, tack för dim hjälp. Jag placerade det i onclick så länge, kompleterade med .val() som du angav, och det funkar. Ska kolla den andra metoden lite fristående.

FRÅGA1:

Om jag vill köra ett script i jquery utan att lägga ut nåt, xvis en databasuppdat, hur ser detta ut i princip? Säg att jag vill köra 'updat.php' med parametern 'par'?

FRÅGA2:

Om jag kör

$('div1').load('updat1.php')

och direkt efter detta vill köra

$('div2').load('updat2.php') 

hur ser detta ut i princip?

 

Det finns en massa info om jquery på nätet, men precis som med det mesta annat är det i stort sett omöjligt att hitta info om det allra enklaste.

 

[inlägget ändrat 2009-01-20 07:44:27 av jan-erik]

Dela detta inlägg


Länk till inlägg
Dela på andra webbplatser
Jonas__B

om man inte behöver göra något med resultatet kan man använda sig av get, eller post. Det beror på hur variabeln skall skickas, men jag antar get i detta fallet.

 

$("#knapp").click(function(){ 
 //ajax start
 $.get("updat1.php", { par: "parametervärde" },
   function(data){
     alert("Resultat: " + data);
 });
 //ajax slutar
});

 

Om du vill köra ajax direkt skippar du click-händelsen och lägger in $.get under $().ready istället.

 

skall du köra en till ajax-funktion kopierar du den ovan och lägger undertill.

om funktion2 endast skall köras om funktion1 har lyckats kan man köra den i callbacken. Man ersätter då alerten med funktionen.

$("#knapp").click(function(){ 
 //ajax1 start
 $.get("updat1.php", { par: "parametervärde" },
   function(data){
      //ajax1 start om ajax 1 har lyckats
 $.get("updat2.php", { par: "parametervärde" },
   function(data){
     alert("Resultat ajax2: " + data);
 });
 //ajax2 slutar
 });
 //ajax slutar
});

Man behöver inte ha en callback (alert i detta fall) om man inte vill.

 

mer ajax-get-exempel här:

http://docs.jquery.com/Ajax/jQuery.get#urldatacallbacktype

 

Varför vill du köra två ajax-requests, kan du inte köra de i samma php-fil? (det kanske bara var ett exempel...)

 

[inlägget ändrat 2009-01-20 09:02:36 av Jonas_Bo]

Dela detta inlägg


Länk till inlägg
Dela på andra webbplatser

Skapa ett konto eller logga in för att kommentera

Du måste vara medlem för att kunna kommentera

Skapa ett konto

Skapa ett nytt konto på vårt forum. Det är lätt!

Registrera ett nytt konto

Logga in

Redan medlem? Logga in här.

Logga in nu



×
×
  • Skapa nytt...