php-resource



Zurück   PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr > Entwicklung > HTML, JavaScript, AJAX, jQuery, CSS, Bootstrap, LESS
 

Login

 
eingeloggt bleiben
star Jetzt registrieren   star Passwort vergessen
 

 

 


HTML, JavaScript, AJAX, jQuery, CSS, Bootstrap, LESS Probleme mit HTML5, Bootstrap oder jQuery ?

Antwort
 
LinkBack Themen-Optionen Bewertung: Bewertung: 1 Stimmen, 5,00 durchschnittlich.
  #1 (permalink)  
Alt 09-03-2010, 16:28
syntaxerror
 Registrierter Benutzer
Links : Onlinestatus : syntaxerror ist offline
Registriert seit: Mar 2010
Beiträge: 31
syntaxerror befindet sich auf einem aufstrebenden Ast
Standard AJAX mag meine geschachtelten Quotes nicht? (HTML)

Moinsen,

bin ganz neu hier (allerdings nicht mehr ganz so neu im PHP, eher in der AJAX-Welt...kenne noch die Zeit als man davon träumte, mal einen JS2PHP-Callback hinzukriegen...mit den abstrusesten Krücken )

Ok, zur Sache.

(caller.htm)
Code:
<script type="text/javascript">
createXHRObject = function() 
{
 ...
}

dispatchToPHP = function (url,params)
{
  var xmlhttp=createXHRObject();if(!xmlhttp){alert('Ajax not supported');return;}
  xmlhttp.open('POST',url);
  xmlhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
  xmlhttp.setRequestHeader("Content-length", params.length);
  xmlhttp.setRequestHeader("Connection", "close");
  
  xmlhttp.onreadystatechange=function()
  {
     if(xmlhttp.readyState!=4)return;
    // 404 error abfangen hier weggelassen

    try
    {
      new Function(xmlhttp.responseText)();
    }
    catch(E)
    {      
      alert("RUNTIME ERROR / EXCEPTION: \n\n" + xmlhttp.responseText);
    }
  } //onreadystatechange()

 xmlhttp.send(params);
}

prepareForCallback = function (value)
{
  // BEMERKUNG: function e() befindet sich in ajax.php !
 
    var tbl = document.getElementById("maintable").value;
    var e=window.encodeURIComponent||window.escape;
    var params='tbl='+e(tbl)+'&value='+e(value);
   
  dispatchToPHP('ajax.php',params);
}
</script>

<div id="maintable">
<!-- ganz viel unwichtiger Code -->
</div>

<select id="bla" name="fasel" size="1" onChange=javascript:prepareForCallback(this.value)>
(ajax.php)
PHP-Code:

<?php
function e($s
{
    return 
addcslashes($s,"\\&\'\"\n\r<>/");
}

// ------------------------------------------
function testfunc ()
// ------------------------------------------
{
$innerhtmlstr "<table border><tr><td>this is a test</td></tr></table>";

// fkt. NICHT
// $innerhtmlstr = "<table border=\"2\"><tr><td>this is a test</td>
// </tr></table>";

  
return $innerhtmlstr;
}

// php-hauptteil (ajax)

$newstr testfunc();

?>
// JS-Teil
var newstr_js = "<?php echo $newstr;?>";

document.getElementById("blubberbla").innerHTML = newstr_js;
Also, in Worten:

der mag die " " nicht bei den Attributen, und ich weiß einfach noch nicht wieso. Verhalten ist, dass er mir immer die Exception schmeißt ("Runtime error" schreib ich da wie man sieht oben raus).

Schreib ich statt border="3" nur border, dann klappt es!
Allerdings ist es hier verflixt wichtig, dass ich Attribute verwenden kann.
Auch die aus JS bekannte Krücke (einfache Anführungszeichen, dann doppelte innen) klappt hier nicht.

Also, wo krankt's hier?

Geändert von syntaxerror (09-03-2010 um 16:45 Uhr)
Mit Zitat antworten
  #2 (permalink)  
Alt 09-03-2010, 16:33
Kropff
  Administrator
Links : Onlinestatus : Kropff ist offline
Registriert seit: Mar 2002
Ort: Köln
Beiträge: 11.722
Kropff befindet sich auf einem aufstrebenden Ast
Standard

GRUNDLAGEN:
PHP-Code:
$innerhtmlstr '<table border="3"><tr><td>this is a test</td></tr></table>'
Peter
__________________
Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
Meine Seite
Mit Zitat antworten
  #3 (permalink)  
Alt 09-03-2010, 16:47
DSitC
 Registrierter Benutzer
Links : Onlinestatus : DSitC ist offline
Registriert seit: Feb 2010
Beiträge: 15
DSitC befindet sich auf einem aufstrebenden Ast
Standard

Wenn du in PHP eine Variable so definierst:

PHP-Code:
$innerhtmlstr "<table border=\"2\"><tr><td>this is a test</td></tr></table>"
Dann wird diese intern so ankommen:

Code:
<table border="2"><tr><td>this is a test</td></tr></table>
---

Wenn du dies dann im Javascript teil per PHP per echo() so einbaust:

PHP-Code:
var newstr_js = "<?php echo($newstr); ?>";
Dann steht das dann für den JS-Parser so drin:

Code:
var newstr_js = "<table border="2"><tr><td>this is a test</td></tr></table>";
---

Fällt dir da was auf?
Mit Zitat antworten
  #4 (permalink)  
Alt 09-03-2010, 16:50
syntaxerror
 Registrierter Benutzer
Links : Onlinestatus : syntaxerror ist offline
Registriert seit: Mar 2010
Beiträge: 31
syntaxerror befindet sich auf einem aufstrebenden Ast
Standard

JEP!

Danke für den Hinweis, und zu Peter:

das mit den einfachen Quotes am Anfang, dann die doppelten innendrin - schrieb ich ja bereits! - nahm er ebenfalls so nicht an.

[edit] DSitC hat mir jetzt auch eine perfekte Erklärung geliefert, WIESO:

Innendrin stehen natürlich fein säuberlich die " ". Ob außen bei PHP die '...' oder die "..." stehen, interessiert den JS-Parser hinterher nicht!
D. h. es sieht dann genauso wie beim letzten von DSitC geposteten Codeschnipsel aus - in beiden Fällen!

Geändert von syntaxerror (09-03-2010 um 16:59 Uhr)
Mit Zitat antworten
  #5 (permalink)  
Alt 09-03-2010, 17:00
DSitC
 Registrierter Benutzer
Links : Onlinestatus : DSitC ist offline
Registriert seit: Feb 2010
Beiträge: 15
DSitC befindet sich auf einem aufstrebenden Ast
Standard

Der Vollständigkeit halber:

Da hier 2x geparst wird vor der Ausgabe muss man auch 2x escapen. Das sieht das so aus (diesmal mit einfachen Anführungszeichen, weil's einfach sauberer ist):

PHP-Code:
$innerhtmlstr '<table border=\\"2\\"><tr><td>this is a test</td></tr></table>'
Mit Zitat antworten
  #6 (permalink)  
Alt 09-03-2010, 17:02
syntaxerror
 Registrierter Benutzer
Links : Onlinestatus : syntaxerror ist offline
Registriert seit: Mar 2010
Beiträge: 31
syntaxerror befindet sich auf einem aufstrebenden Ast
Standard

OKAY, DANKE nochmal!

Allerdings, syntax denkt auch mit! (sobald er die Materie verstanden hat)

DSitC, was hältst du davon?
(das berühmte Pferd, das von hinten aufgezäumt wird)

Code:
//js 
var newstr_js = '<?php echo $newstr;?>';
Ist doch ganz hypsch ... und spart mir jegliches Escapen im PHP-Teil.

Geändert von syntaxerror (09-03-2010 um 18:37 Uhr)
Mit Zitat antworten
  #7 (permalink)  
Alt 09-03-2010, 17:17
Kropff
  Administrator
Links : Onlinestatus : Kropff ist offline
Registriert seit: Mar 2002
Ort: Köln
Beiträge: 11.722
Kropff befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von DSitC Beitrag anzeigen
Dann steht das dann für den JS-Parser so drin:

Code:
var newstr_js = "<table border="2"><tr><td>this is a test</td></tr></table>";
Sorry, hab das übersehen. Ich arbeite auch bei JS immer mit Hochkommata.
PHP-Code:
var newstr_js '<table border="2"><tr><td>this is a test</td></tr></table>'
Peter
__________________
Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
Meine Seite
Mit Zitat antworten
Antwort

Lesezeichen


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Textausrichtung im geschachtelten DIV Pantheon HTML, JavaScript, AJAX, jQuery, CSS, Bootstrap, LESS 6 29-05-2007 22:06
HTML, JS, CSS, php, AJAX, usw. seh den wald vor lauter bäumen nicht mehr ... Sascha_78 Off-Topic Diskussionen 2 06-03-2007 23:38
Meine Homepage rund um Html KloMeister User pages 1 10-08-2005 09:39
Platzverschwendung von geschachtelten Tabellen stoppen, aber wie? ;) Gruselgockel HTML, JavaScript, AJAX, jQuery, CSS, Bootstrap, LESS 10 14-06-2005 11:33
suche HTML Checker für meine Homepage BjörnHolger Apps und PHP Script Gesuche 1 03-01-2002 20:17

Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an


PHP News

ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlicht
ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlichtDie bekannte Marktplatzsoftware ebiz-trader ist in der Version 7.5.0 veröffentlicht worden.

28.05.2018 | Berni

Wissensbestand in Unternehmen
Wissensbestand in UnternehmenLebenslanges Lernen und Weiterbilden sichert Wissensbestand in Unternehmen

25.05.2018 | Berni


 

Aktuelle PHP Scripte

ADSMAN V3 - Werbe-Manager ansehen ADSMAN V3 - Werbe-Manager

ADSMAN V3 - mehr als nur ein Bannermanager! Banner, Textanzeigen und PagePeel Manager! Mit ADSMAN PRO haben Sie die Marketinglösung für eine effektive und effiziente Werbeschaltung mit messbaren Ergebnissen. Unterstützt werden Bannerformate in beliebi

25.10.2018 virtualsystem | Kategorie: PHP/ Bannerverwaltung
PHP News und Artikel Script V2

News schreiben, verwalten, veröffentlichen. Dies ist jetzt mit dem neuen PHP News & Artikel System von virtualsystem.de noch einfacher. Die integrierte Multi-User-Funktion und der WYSIWYG-Editor (MS-Office ähnliche Bedienung) ermöglichen...

25.10.2018 virtualsystem | Kategorie: PHP/ News
Top-Side Guestbook

Gästebuch auf Textbasis (kein MySQL nötig) mit Smilies, Ip Sperre (Zeit selbst einstellbar), Spamschutz, Captcha (Code-Eingabe), BB-Code, Hitcounter, Löschfunktion, Editierfunktion, Kommentarfunktion, Kürzung langer Wörter, Seiten- bzw. Blätterfunktion, V

22.10.2018 webmaster10 | Kategorie: PHP/ Gaestebuch
 Alle PHP Scripte anzeigen

Alle Zeitangaben in WEZ +2. Es ist jetzt 12:25 Uhr.