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

jan-erik

Medlem
  • Antal inlägg

    334
  • Gick med

  • Senaste besök

Allt postat av jan-erik

  1. Nä, det vill sig inte. Jag lägger ut hela scriptet, kan du kola om det funkar hos dej? Jag har lagt en alert i funktionen. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>Untitled Document</title> <script type="text/javascript" language="Javascript"> var xmlHttp function showCustomer(str,pgm) { xmlHttp=GetXmlHttpObject(); alert (str+pgm); if (xmlHttp==null) { alert ("Your browser does not support AJAX!"); return; } var url=pgm; url=url+"?q="+str; url=url+"&sid="+Math.random(); xmlHttp.onreadystatechange=stateChanged; xmlHttp.open("GET",url,true); xmlHttp.send(null); } function stateChanged() { if (xmlHttp.readyState==4) { document.getElementById("txtHint").innerHTML=xmlHttp.responseText; } } function GetXmlHttpObject() { var xmlHttp=null; try { // Firefox, Opera 8.0+, Safari xmlHttp=new XMLHttpRequest(); } catch (e) { // Internet Explorer try { xmlHttp=new ActiveXObject("Msxml2.XMLHTTP"); } catch (e) { xmlHttp=new ActiveXObject("Microsoft.XMLHTTP"); } } return xmlHttp; } </script> </head> <body> <form action="" method="post" name="nyinl"> <textarea class="inptxt" name="nytextnm" id="nytextid" cols="40" rows="4" wrap="virtual" style="overflow: hidden;"></textarea><br> <input name="nyinl" type="button" value="nytt inlägg" onclick="var txt=document.getElementById('nytextid').value); var pgm='bokning.php'; showCustomer(txt,pgm)"/> </form> </body> </html>
  2. ja, jag skriver i varje fall i den.
  3. Lade till .value, men det jag får ut är en tom alertruta som det står 'ok' i, med en gul varningsstriangel.
  4. jag ändrade enligt kod nedan, men svaret på alerten blir [object] <form action="" method="post" name="nyinl"> <textarea class="inptxt" name="nytextnm" id="nytextid" cols="40" rows="4" wrap="virtual" style="overflow: hidden;"></textarea><br> <input name="nyinl" type="button" value="nytt inlägg" onclick="var tx=document.getElementById('nytextid');alert(tx);"/> </form>
  5. Här kommer ett litet problem: jag försöker använda min nya fina ajax-rutin för att skicka en textarea vidare. <form name="nyinl"> <textarea class="inptxt" name="nytext" cols="40" rows="4" wrap="virtual" style="overflow: hidden;"></textarea> <input name="nyinl" type="button" value="ny text" onclick="alert (document.getElementById(nytext));"/> </form> koden i onclick syftar bara till att kolla om jag får tag i "nytext", men det får jag inte. Den svarar "null". ???????
  6. Tack Micke, det funkar perfekt. Jag har byggt om lite till en generell rutin genom att jag skickar med namnet på mottagande script som en parameter i stället för att lägga den fast i js. Så, på ett par timmar har jag fått 12 script som så att säga raka vägen genom väldgt enkla ombyggnader.
  7. jag försöker skapa en rutin där man via ett formulär anger ett värde (xvis ett artikelnr) och får ut en motsv artikltext som hämtas från mysql. Jag vill att det ska ske utan omladdning av sidan, och vad jag föstår är det då Ajax blir aktuellt. Jag har följande. AJAX: <script type="text/javascript" language="Javascript"> window.onload = initAll; var xhr = false; function initAll() { document.getElementById("makeTextRequest").onclick = getNewFile; document.getElementById("makeXMLRequest").onclick = getNewFile; } function getNewFile() { makeRequest(this.href); return false; } function makeRequest(url) { if (window.XMLHttpRequest) { xhr = new XMLHttpRequest(); } else { if (window.ActiveXObject) { try { xhr = new ActiveXObject("Microsoft.XMLHTTP"); } catch (e) { } } } if (xhr) { xhr.onreadystatechange = showContents; xhr.open("GET", url, true); xhr.send(null); } else { document.getElementById("updateArea").innerHTML = "Sorry, but I couldn't create an XMLHttpRequest"; } } function showContents() { if (xhr.readyState == 4) { if (xhr.status == 200) { var outMsg = (xhr.responseXML && xhr.responseXML.contentType=="text/xml") ? xhr.responseXML.getElementsByTagName("choices")[0].textContent : xhr.responseText; } else { var outMsg = "There was a problem with the request " + xhr.status; } document.getElementById("updateArea").innerHTML = outMsg; } } </script> <script type="text/javascript" language="JavaScript"> DIVVÄLJARE: var selDiv; function ShowContent(id) { var id; if (selDiv) selDiv.style.display='none'; selDiv=document.getElementById(id); selDiv.style.display='block'; } FORMULÄR: <form action="" method="post"> <input type="button" name="artval" value="<? echo $art;?>" onclick="ShowContent('artdiv'); return true;" href="javascript:ShowContent('artdiv')"> </form> EXEKVERING: <div id="artdiv" class="showmeny" > <a id="makeTextRequest" href="<? include "artlist.php";?> "></a> </div> Om jag kan få in "art" i "artlist" så funkar det perfekt! Men om inte om fanns...
  8. [color="#0000ff"] <A HREF="#" onclick=''return playVideo"v01","videoPlayback")''>Agility 080302</A><BR> <A HREF="#" onclick=''return playVideo("v02","videoPlayback")''>Agility Ystad</A><BR> [/color] [color="#ff0000"] <A HREF="#" onclick=''document.getElementById("videoPlayback").innerHTML=""; return false''>avbryt video</A> [/color] [color="#006400"] <div id=''videoPlayback'' style=''width: 400px; height:360px; background-color: #800000;''></div> [/color] [color="#ff8C00"] <div id=''v01'' style=''display: none;''> <embed src="../video/TJagility080302.wmv" width="400" height="360"> </embed> </div> <div id=''v02'' style=''display: none;''> <embed src="http://teamjea.brinkster.net/video/agyystad.wmv" width="400" height="360"> </embed> </div> [/color] [color="#a0522d"] <script type="text/javascript"> function playVideo(sourceId, targetId) { alert(sourceId+targetId); if (typeof(sourceId)=='string') {sourceId=document.getElementById(sourceId);} if (typeof(targetId)=='string') {targetId=document.getElementById(targetId);} targetId.innerHTML=sourceId.innerHTML; return false;} </script> <script type="text/javascript">function resetVideo(divId) { if (typeof(divId)=="string") { divId=document.getElementById(divId); } if (divId.innerHTML) { org=divId.innerHTML; divId.innerHTML=''; divId.innerHTML=org; } return false;} </script> [/color] Ovanstående snuttar ska funka som en spellista för video, och det gör den oxå, i stort sett. Men, jag får problem med ljudet. När jag avbryter en video med RÖD så fortsätter ljudet, även om jag väljer en ny video. Var har jag gått vilse?
  9. jag snackade för övrigt inte om ett par hudnraposter, jag snackade om 400x400x400 poster.
  10. tja, inte så farligt polemiskt tycker jag. Det enda som stör mig är att ingen Out There förstått vad jag frågade efter.
  11. Nä, det har inte hänt ett dugg sen slutet av 70-talet vad gäller databasdesign, däremot är förstås kapaciteten helt annorlunda. Den teknologi som mysql är uppbyggd kring fanns fullt ut i IBM370. Och det är väl klart att jag hajar till när någon direkt kopplar ihop söktider med antalet poster. Ok för översitteri. Men lite märkligt tycker jag det är att ni envisas med att fösöka hjälpa mej med ett problem som jag inte behöver hjälp med, och inte intresserar er för vad jag egentligen frågar om. Ni kanske är lite väl tekniska ibland?
  12. Om jag har en miljon poster och en sökning eller jag har en post och en miljon som söker så är det väl klart att det senare blir trångt. Jag vill gärna vrida frågeställningen rätt. Vad gäller databasdesign så sysslade jag med detta innan dom flesta av er var födda, och det har inte hänt ett dyft de senaste 30 åren vad gäller teknik. Vilket det däremot har gjort vad gäller övriga mjukvaror, där är jag fast i cobol... Alltså är jag ganska säker på att jag använder mysql relativt optimalt. Vad jag däremot har svårt att kolla är kvaliten på servern, den är ju inte under min konroll. Men om vi nu bortser från om databasen är flakshals eller inte, så är ju min frågeställning: Kan jag vinna nåt på att använda mig av "mellanlagring" av mer ellr mindre förformaterad info?
  13. Jag ska inte säga emot dej, du har säkert rätt. Men det avgörande är inte antalet poster i tabellerna, utan hur många läsningar som görs mot dom, och på vilket sätt dom är avhängiga varandra. Om det nu är så att det i mitt fall hänger på kvaliten på servern så ändrar förstås inte detta min frågeställning, om jag inte kan göra nåt åt det. Då har jag ju ännu större anledning att leta efter alternativa lösningar. Och hur det än är, hjälpmedel som Ajax har troligen tvingats fram av dom skäl som jag anför.
  14. Jag har analyserat min nya hemsida, som egentligen är en ren experimentverskstad, med avseeende på svarstider, och kan dra slutsatsen att databashanteringen (ganska omfattande: 400 hundar och lika många hundägare med omfattande och frekevent aktivitet ) är den huvudsakliga flaskhalsen. Givetvis tänker man då på Ajax, men man funderar ju även på lite andra modeller. Om jag vet att en viss sida (xvis dagens träningsprogram med planering för alla deltagande ekipage) kommer att laddas ner 50 ggr den aktuella dagen, skulle jag då inte på nåt sätt kunna "förformatera" denna sida och placera den på ett lättåtkomligt sätt? Ändringsfrekvensen är marginell den aktuella dagen. Pratar vi xvis XML-lösning då? Ett problem i sammnhanget kan vara att det från dessa sidor finns länkar till andra sidor vilket väl lägger vissa hinder i vägen. Vidare så har jag några centrala tabeller i databasen (hundar, förare, events), som hämtas i en drös av sammanhang. Även med dessa skulle man väl kunna göra en liknande lösning. Vad jag är ute efter är alltså att minimera kontakerna med mysql. Att med automatik återskapa sådana "mellanlager" torde inte ta många sekunder. Några djupa tankar out there?
  15. jag har gjort så att jag laddat om sidan med vanlig submit, och det är acceptabelt. Men jag får problem med att denna output ligger kvar när jag använder ShowContent. Men det löser jag säkert. Hur skulle i grova drag en ajaxlösning se ut? Jag har ett antal aktiviter på skärmen, var o en motsvarar nyckel till en post i databastabell. Genom en knapp kan jag välja en av dessa, och få ut underliggande info. Det är denna info jag vill ha i en särskild div. Infot ska kunna förändras och uppdatering databastabell skall ske. Detta sker i ett inlude-script. Går detta på ett enkelt sätt att fixa med Ajax?
  16. Ja, ungefär så. Jag har en "button" som skall exekvera ett script i en speciell div. Detta funkar bra om jag inte behöver ta med några parameter, då använder jag din ShowContent. Jag har lyckats skapa en ShowContent2 där jag tar om hand en extra parameter, men sen vet jag inte hur jag ska få detta ett funka. Jag kan ju lägga till parametern till en URL, men då kan jag väl inte styra det till en viss div?
  17. Egentligen vill jag trigga även denna i ett formulär med OnClick, men eftersom jag ska ha med mig en parameter så funkar inte detta vad jag förstår. Om jag bara ska köra ett script rakt upp o ner så funkar det med ShowContent trigagr med onclick, men om jag ska plocka med en variabel från formuläret så upstår tydlingen timingproblem.
  18. Hej Micke, du hjälpte mej i förra veckan att bygga upp en js-rutin där jag i ett formulär med onclick styrde div-hantering. ShowContent js-funktionen, och det funkar jättebra. (tråd "divhantering") Nu skulle jag försöka använd samma funktion, men inte med OnClick utan triggat av andra villkor. det var detta som inlägget handlade om.
  19. jan-erik

    köra js

    if (isset($sw)){ ?><script language="JavaScript" src="js('par'); return true;"></script> <? } kan man göra så här?
  20. Jag tänkte jag skulle lära mej lite om hur ajax funkar, och först använda det för att komma ifrån hel omladdning av en sida när man klickar på en knapp. Jag har börjat med att lägga upp följande, som jeag snott från nätet: <script type="text/javascript">function ajaxFunction() {var xmlHttp; try { // Firefox, Opera 8.0+, Safari xmlHttp=new XMLHttpRequest(); } catch (e) { // Internet Explorer try { xmlHttp=new ActiveXObject("Msxml2.XMLHTTP"); } catch (e) { try { xmlHttp=new ActiveXObject("Microsoft.XMLHTTP"); } catch (e) { alert("Your browser does not support AJAX!"); return false; } } } xmlHttp.onreadystatechange=function() { if(xmlHttp.readyState==4) { document.myForm.time.value=xmlHttp.responseText; } } xmlHttp.open("GET","ajax1.php",true); xmlHttp.send(null); }</script> om jag nu har ett formulär så här ungefär: <form> <input type="button"> </form> hur ska jag då komplettera formuläret fär att kalla på "ajax1.php"?
  21. Kan man sammanfatta så här: Om man på ett enkelt sätt ska anropa ett script från en form/input och ha med sig en variabel så är det lika bra att använda input/submit/action medans Om man ska anropa ett script utan variabel så kan man använda javascript. ???
  22. jag experimenterade, det lär man sig av. Detta nedan var ganska kul tyckte jag, om än oanvändbart: Jag gjorde "dynamiska divvar", dvs jag gjorde en php-loop och la upp ett antal divvar med id lika med den variabel jag försöker få in. så här: $k=0; while ($k<5) { $k1=1319+$k; ?> <div id="<? echo $k1;?>" class="showmeny"><? include "http://www.jea.se/a/pg3x.php?val=<? echo $k1;?>"; ?></div> <? $k++; } in onclicken har jag onclick="ShowContent('<? echo $id; ?>');" Det funkar, men det blir ju ganska många divar att lägga upp, det måste ju göras i förväg så att säga. men rätt kul!
  23. jag la till följande i ShowContent2: window.location="http://www.jea.se/a/pg3x.php?val="+phpid; Detta funkar, men hamnar förstås inte i den div som det är tänkt.
  24. jag har gjort så att jag gjort en egen funktion för de fall där jag ska ha både div-parameter och en varable med mej, och en annan funktion där jag bara ska ha div-paramatern. var selDiv; var phpid; function ShowContent2(id,phpid) { alert (phpid); if (selDiv) selDiv.style.display='none'; selDiv=document.getElementById(id); selDiv.style.display='block'; } function ShowContent(id) { if (selDiv) selDiv.style.display='none'; selDiv=document.getElementById(id); selDiv.style.display='block'; } Detta funkar faktiskt, jag får ut rätt variabel i alerten i ShowContent2. Nu är enda problemet hur jag ska få över variablen i php.scritptet.
  25. det ag får fram ur ditt inlägg1639 är att denna funktion ska ersätta den jag har nu: function ShowContent(d,phpId) ska alltså ersätta var selDiv; function ShowContent(id) { if (selDiv) selDiv.style.display='none'; selDiv=document.getElementById(id); selDiv.style.display='block'; }
×
×
  • Skapa nytt...