Inhalt aus Div-Container auslesen
Hallo, ich möchte aus einem Div den Inhalt auslese.
<form action="index.php?note=1" method=post >
<div id="myNicPanel" style="width: 100%;"></div>
<div value=" " id="myInstance" style=" width: 100%;"><!--Alles was hier drin steht würde ich gerne in einer Variable speicher--></div>
<button type="submit">Änderungen Speichern</button>
</form>
Mein frage nun wie kann ich das machen?
5 Antworten
Morgen, also muss dir echt sagen sowas sieht kein Entwickler gerne...
Zuallererst hat das value
im DIV Element dort überhaupt nichts zu suchen ..
Meine Empfehlung wäre soetwas:
//HTML
<form action="index.php?note=1" method=post >
<input name="data[myNicPanel]">
<input value="" name="data[myInstance]" >
<button type="submit">Änderungen Speichern</button>
</form>
//php
//alle POST Daten in eine var speichern ..
$data = $_POST['data'];
//Zugriff
$data['myInstance']
Wenn es allerding nach deinem Formular unbedingt so gemacht werden muss, .......... naja sowas könnt gehen ...
//jQuery
$(function() {
$('body').on('submit', 'form', function(){
var data = {myNicPanel:$('myNicPanel').text(),myInstance: $('myInstance').text() }
$.post($(this).prop('action'),data);
})
})
//php
$myNicPanel = $_POST['myNicPanel'];
Ach und noch eine Sache ... schreib doch bitte kein CSS in HTML hinein sowas gehört in eine .css Dateie
Such die Datei wo die ID's drin stehen und schau was die ID "myInstance" macht. Musst dich halt durch den Quelltext hangeln.
Das kannst Du mit einfachen JavaScript machen
var innenTeil = document.getElementById('myInstance').innerHTML;
alert(innenTeil);
ALS php:
$myInstance = $_POST['myInstance'];
echo $myInstance;
Hallo,
was spricht dagegen das mit einer Textarea zu machen? für alles Andere wirst du wohl um JavaScript nicht rumkommen...
LG Sedd
Wenn du es per JavaScript auslesen willst:
var meienVariable = document.getElementByID('myInstance').innerHtml;
so grob ausm Kopf aufgeschrieben
Basierend auf deiner Frage zu der anderen Antwort:
Das in eine PHP-Variable zu bringen wird schwierig - hierzu müsstest du einen AJAX-Aufruf machen um Serverseitig ein PHP-Script zu triggern.
JavaScript wird immer auf dem Client ausgeführt - der Server bekommt davon im Normalfall nichts mit. PHP wird immer auf dem Server ausgeführt - der Client bekommt davon gar nix mit ;)
Ich hab das ganze mal kurz mit ner Textarea geschrieben ;)
http://gf.kkugelmann.de/PaulBla.html
Schau dir den Quelltext mal an ;)
http://gf.kkugelmann.de/PaulBla2.html
ist jetzt nur mal schnell runtergetippt - hab es nicht getestet - sollte so aber eigentlich hinhauen - du bekommst dann serialisierte Daten ins PHP-Script die du per unserialize() wieder in ein Array aufsplitten müsstest, dann kannst du damit wie gewohnt arbeiten.
Hier kommt die jQuery Bibliothek zum Einsatz, um die Ajax-Requests für alle Browser möglich zu machen, was sonst viele Zeilen JavaScript-Code erfordert hätte ;)
Ich habe es jetzt als Textarea versucht. http://www.pic-upload.de/view-22174295/Unbenannt.jpg.html
Das war wie gesagt auch meine erste Idee aber NicEditor verformt die Textarea.
Ich hab auch schon versucht der textarea mit einem Style zusagen das sie breiter sein soll. - hat nicht funktioniert.
Ich habe auch versucht das Script vom NicEditor dahin gehend ab zu ändern. - hat auch nicht so gut funktioniert.
Kannst du den NicEdit nicht ganz rauslassen? Wofür hast du den geladen?
da müssten irgendwo 2 Zeilen im Script sein
<script src="http://js.nicedit.com/nicEdit-latest.js" type="text/javascript"></script>
<script type="text/javascript">bkLib.onDomLoaded(nicEditors.allTextAreas);</script>
kannst du die Löschen?
Das war auch meine erste Idee, aber der "NicEditor" den ich dafür benutzen möchte arbeitet leider mit Div`s
Bzw. es gibt zwar auch eine Textarea Möglichkeit mit dem Editor aber dann funktioniert dieser nicht mehr richtig.
Hättest du eine Idee wie es mit Javascript funktionieren könnte?
Mfg
Paul
Wie soll das funktionieren?
Ein DIV ist kein Formularelement, dass bei Formularübermittlung mit übertragen wird - oder ist dieser Kelch die letzten 10-15 Jahre an mir vorbei gegangen? ;)