Kom ihåg mig?
Home Menu

Menu


ajax jquery ändra text på submit knapp

Ämnesverktyg Visningsalternativ
Oläst 2013-05-14, 12:35 #1
Fia Fia är inte uppkopplad
Medlem
 
Reg.datum: May 2007
Inlägg: 87
Fia Fia är inte uppkopplad
Medlem
 
Reg.datum: May 2007
Inlägg: 87
Standard ajax jquery ändra text på submit knapp

viste inte riktigt om det är rätt forum men en lite riktigt irriterande fråga som jag har slagits med nu i över en timme. Tyckes att det skulle vara lätt men nej. Jag försöker ändra texten på en submit knapp. jag har en massa formulär som har skapats i en loop via jquery och ajax genom att hämta från en db och lägga in via append

$("#diven").append('<div class="rad"><div class="mellan">Ordernr:' + $(this).find("ORDERNR").text() + '</div><form id="spararad" name="spararad" action="" method="post"><input type="hidden" id="ordernr" name="ordernr" value="' + $(this).find("ORDERNR").text() + '"><input type="hidden" id="radnr" name="radnr" value="' + $(this).find("RADNR").text() + '"><input type="submit" id="submit" name="submit" value="spara"></form></div>');

och när man trycker på spara knappen så sparas formulär datan i en db via ajax

$('#spararad').live("submit",function(event){
event.preventDefault();
$.ajax({
url: '/aspararad.php',
type: 'POST',
data: $(this).serialize(),
success: function(data){
if(data="1"){
$(this).find(":submit").live('change', function (e) {
form.find (':submit').val('Ta bort');
});
}else{
$(this).find(":submit").live().val('Spara');
}
}
});
});

Fungera jättebra men jag lyckas inte ändra på texten i knappen efter att datan har sparats. if satser går också igenom utan problem så det är själva raden

$(this).find(":submit").live('change', function (e) {
form.find (':submit').val('Ta bort');
});

Som jag inte får rätt på har provat alla möjliga kombinationer som
$("#submit").val('Spara'); Ändra alla, inte vad jag vill.
$(this).find(":submit").val('Spara');
$(this).find("#submit").val('Spara'); och .html mm

men får det inte att fungera. Någon som har gjort något liknande?
Fia är inte uppkopplad   Svara med citatSvara med citat
Oläst 2013-05-14, 12:53 #2
Alexs avatar
Alex Alex är inte uppkopplad
Administratör
 
Reg.datum: Sep 2004
Inlägg: 1 621
Alex Alex är inte uppkopplad
Administratör
Alexs avatar
 
Reg.datum: Sep 2004
Inlägg: 1 621
Först och främst;
Raden
Kod:
if(data="1"){
sätter variabeln "data" till 1. Du ska ha två likhetstecken, annars kommer din if-sats alltid att köras med lyckat resultat.

Testa detta.
Kod:
$('#spararad').live("submit",function(event){
    event.preventDefault;
    
    var submitBtn = $(this).find('input[type=submit]');
        
    $.ajax({
        url: '/aspararad.php',
        type: 'POST',
        data: $(this).serialize(),
        success: function(data){
            if(data=="1"){
              submitBtn.val('Ta bort');
            }else{
              submitBtn.val('Spara');
            }
	}
    });
});
Sist skulle jag rekommendera dig att uppgradera till den senaste versionen av jQuery. Det kommer dock bryta MYCKET av din funktionalitet som den ser ut idag. .live() används inte längre, och kommer att tas bort helt ur framtida versioner - om den ens finns kvar idag.
__________________
@Zn4rK - Börja blogga - Paintball i Göteborg
Det jag skriver är mina personliga åsikter och återspeglar inte vad WN eller andra företag jag representerar tycker.
Alex är inte uppkopplad   Svara med citatSvara med citat
Oläst 2013-05-14, 13:12 #3
Fia Fia är inte uppkopplad
Medlem
 
Reg.datum: May 2007
Inlägg: 87
Fia Fia är inte uppkopplad
Medlem
 
Reg.datum: May 2007
Inlägg: 87
tackar för hjälpen

Senast redigerad av Fia den 2013-05-14 klockan 13:15
Fia är inte uppkopplad   Svara med citatSvara med citat
Oläst 2013-05-15, 09:25 #4
Fia Fia är inte uppkopplad
Medlem
 
Reg.datum: May 2007
Inlägg: 87
Fia Fia är inte uppkopplad
Medlem
 
Reg.datum: May 2007
Inlägg: 87
Du som verkar ha koll på det här finns det ett sätt att submita formen vid klick på parent div. typ

$(".rad").live("click", function () {
$(this).toggleClass("radvald")
//alert($(this).children('form').eq(0));
$(this).children('form').eq(0).live("submit");
});

Detta fungera inte.... men det är ovan form som jag vill skicka. Och eftersom jag inte har några specifika id till formen har jag lite problem att komma till den.

Vet du hor man gör det också? Jag jobbar hårt på att få bättre koll på jquery men där är många bud där ute när man surfar runt för svar och har provat som det känns 100st börjar man bli lite trött i huvudet.
Fia är inte uppkopplad   Svara med citatSvara med citat
Svara


Aktiva användare som för närvarande tittar på det här ämnet: 1 (0 medlemmar och 1 gäster)
 

Regler för att posta
Du får inte posta nya ämnen
Du får inte posta svar
Du får inte posta bifogade filer
Du får inte redigera dina inlägg

BB-kod är
Smilies är
[IMG]-kod är
HTML-kod är av

Forumhopp


Alla tider är GMT +2. Klockan är nu 23:12.

Programvara från: vBulletin® Version 3.8.2
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Svensk översättning av: Anders Pettersson
 
Copyright © 2017