Fetstil Fetstil Kursiv Understrykning linje färgläggning tabellverk Punktlista Nummerlista Vänster Centrerat högerställt Utfyllt Länk Bild htmlmode
  • Forum & Blog
    • Forum - översikt
      • .Net
        • asp.net generellt
        • c#
        • vb.net
        • f#
        • silverlight
        • microsoft surface
        • visual studio .net
      • databaser
        • sql-server
        • databaser
        • access
        • mysql
      • mjukvara klient
        • datorer och komponenter
        • nätverk, lan/wan
        • operativsystem
        • programvaror
        • säkerhet, inställningar
        • windows server
        • allmänt
        • crystal reports
        • exchange/outlook
        • microsoft office
      • mjukvara server
        • active directory
        • biztalk
        • exchange
        • linux
        • sharepoint
        • webbservers
        • sql server
      • appar (win/mobil)
      • programspråk
        • c++
        • delphi
        • java
        • quick basic
        • visual basic
      • scripting
        • asp 3.0
        • flash actionscript
        • html css
        • javascript
        • php
        • regular expresssion
        • xml
      • spel och grafik
        • DirectX
        • Spel och grafik
      • ledning
        • Arkitektur
        • Systemutveckling
        • krav och test
        • projektledning
        • ledningsfrågor
      • vb-sektioner
        • activeX
        • windows api
        • elektronik
        • internet
        • komponenter
        • nätverk
        • operativsystem
      • övriga forum
        • arbete karriär
        • erbjuda uppdrag och tjänster
        • juridiska frågor
        • köp och sälj
        • matematik och fysik
        • intern information
        • skrivklåda
        • webb-operatörer
    • Posta inlägg i forumet
    • Chatta med andra
  • Konto
    • Medlemssida
    • Byta lösenord
    • Bli bonsumedlem
    • iMail
  • Material
    • Tips & tricks
    • Artiklar
    • Programarkiv
  • JOBB
  • Student
    • Studentlicenser
  • KONTAKT
    • Om pellesoft
    • Grundare
    • Kontakta oss
    • Annonsering
    • Partners
    • Felanmälan
  • Logga in

Hem / Forum översikt / inlägg

Posta nytt inlägg


Min AJAX-funktion hittar inte tillbaka

Postades av 2014-02-06 19:33:48 - Lars Lantz, i forum javascript/dhtml, Tråden har 6 Kommentarer och lästs av 3280 personer

Hej!

Jag har en lista som while:as ut mha php. I denna lista finns en input. När man lämnar den ska innehållet i den ändras i databasen.
Detta fungerar alldeles utmärkt. Men jag vill att det nya värdet ska visas i samma input. Scriptet hittar inte tillbaka.

Här är AJAX-koden

<script type="text/javascript">
//**Uppdatera flagga****************************************************************
function uppdatera_flagga(idf,f) {
var xmlhttp;

if (window.XMLHttpRequest) { 
 xmlhttp=new XMLHttpRequest(); }
else { xmlhttp=new ActiveXObject("Microsoft.XMLHTTP"); } // kod för IE6, IE5

xmlhttp.onreadystatechange=function() {
  if (xmlhttp.readyState==4 && xmlhttp.status==200)
    { document.getElementById(f).innerHTML=xmlhttp.responseText;}
}

xmlhttp.open("GET","flagga_uppdatera.php?q="+idf,true);
xmlhttp.send();
}
</script>

Här är koden som ligger i en while.
echo'
		<td class="td" width="16"><form action="*">
<input id="'.$f.'" onblur="uppdatera_flagga('.$rad["Kontaktnummer"].','.$f.')" value="'.$rad["Flagga"].'&nbsp;"></form>
		</td>
';		

$f blir Flagga1, Flagga2, Flagga3 osv. i whilen. Inputarnas id blir på detta viset unika.

Här är koden som uppdaterar databasen.
<?php
/*************** Kolla flaggan *****************/

require "config.php";

        $flaggaQuery = mysql_query("SELECT Flagga
                                  	FROM tblkontakter
                                  	WHERE Kontaktnummer = '".$_GET['q']."'
                                  ") or exit (mysql_error());

while ($flagga = mysql_fetch_assoc($flaggaQuery)){

	if ($flagga['Flagga'] == 1){
        $flaggany = 0;
        } elseif ($flagga['Flagga'] == 0){
        $flaggany = 1;
        }

 
/************************************************/

/**************** Ändra flaggan *****************/
 
         $strQuery = mysql_query("
         						UPDATE tblkontakter SET
            					Flagga='".$flaggany."'
         						WHERE Kontaktnummer = '".$_GET['q']."'
         						")
								or exit (mysql_error());

}

        $flaggaQuery = mysql_query("SELECT Flagga
                                  	FROM tblkontakter
                                  	WHERE Kontaktnummer = '".$_GET['q']."'
                                  ") or exit (mysql_error());
								  
while ($flagga = mysql_fetch_assoc($flaggaQuery)){
echo $flagga['Flagga'];
}
/************************************************************************/
?>



Svara

Sv: Min AJAX-funktion hittar inte tillbaka

Postades av 2014-02-07 08:15:27 - Tomas Granlund

Hur ser den resulterande markupen ut?
Jag är klart rostig på php men tycker det ser ut som att du får nåt i stil med

<input id="'Flagga1'" onblur="uppdatera_flagga('42','Flagga1')" />


D.v.s. javascriptet söker efter något med id = Flagga1 medan elementet har id = 'Flagga1'


Svara

Sv: Min AJAX-funktion hittar inte tillbaka

Postades av 2014-02-07 13:36:59 - Henry Rune Tk

Vet inte om det här kommer att lösa problemet, men vid uppdatering av värde i "input"fält så används: ".value".

Testa med att ersätta:

  if (xmlhttp.readyState==4 && xmlhttp.status==200)
    { document.getElementById(f).innerHTML=xmlhttp.responseText;}


Med:
  if (xmlhttp.readyState==4 && xmlhttp.status==200)
    { document.getElementById(f).value=xmlhttp.responseText;}


Svara

Sv:Min AJAX-funktion hittar inte tillbaka

Postades av 2014-02-07 18:09:48 - Lars Lantz

Så här blir det:

<input id="flagga114" onblur="uppdatera_flagga(1378,flagga114)">

/Lars


Svara

Sv:Min AJAX-funktion hittar inte tillbaka

Postades av 2014-02-07 18:12:00 - Lars Lantz

Hej!

Jag har provat att använda value men det gör ingen skillnad.
Jag använder innerHTML i andra liknande sammanhang och det fungerar där.

/Lars


Svara

Sv: Min AJAX-funktion hittar inte tillbaka

Postades av 2014-02-07 18:16:55 - Tomas Granlund

Jag tror det skulle funka bättre om du lyckas få det till

<input id="flagga114" onblur="uppdatera_flagga(1378,'flagga114')">

Annars försöker du skicka variabeln flagga114 (som sannolikt är odefinierad) istället för strängen "flagga114", vilken du senare slussar in i getElementById()

Och ja, du vill nog använda .value istället för innerHTML

Skillnaden blir att du får
<input value="nyttvärde"/>

I stället för
<input>nyttvärde</input>


Det senare stöds inte i html eftersom input-elementet har en tom content-model


Svara

Sv:Min AJAX-funktion hittar inte tillbaka

Postades av 2014-02-07 18:41:14 - Lars Lantz

Nu blir det så här och det fungerar fortfarande inte. Behöver jag göra några ändringar i funktionen också?

<input id="flagga122" onblur="uppdatera_flagga(1370,'flagga122')">

/Lars

Jag missade att prova med value igen. När jag gjorde det fungerar det.

Tack för all hjälp!!!

/Lars


Svara

Nyligen

  • 18:42 Hvor finder man håndlavede lamper
  • 18:41 Hvor finder man håndlavede lamper
  • 16:36 Allt du behöver veta om keramiskt
  • 16:14 Vem anlitar man egentligen när tak
  • 16:14 Vem anlitar man egentligen när tak
  • 16:13 Vem anlitar man egentligen när tak
  • 11:52 Noen erfaring med uttak hos Mostbe
  • 11:51 Noen erfaring med uttak hos Mostbe

Sidor

  • Hem
  • Bli bonusmedlem
  • Läs artiklar
  • Chatta med andra
  • Sök och erbjud jobb
  • Kontakta oss
  • Studentlicenser
  • Skriv en artikel

Statistik

Antal besökare:
Antal medlemmar:
Antal inlägg:
Online:
På chatten:
4 570 574
27 958
271 741
5 872
0

Kontakta oss

Frågor runt konsultation, rådgivning, uppdrag, rekrytering, annonsering och övriga ärenden. Ring: 0730-88 22 24 | pelle@pellesoft.se

© 1986-2013 PelleSoft AB. Last Build 4.1.7169.18070 (2019-08-18 10:02:21) 4.0.30319.42000
  • Om
  • Kontakta
  • Regler
  • Cookies