Inhalt aus Div-Container auslesen

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);
Woher ich das weiß:Berufserfahrung – Web Developer bei einem mittelständischen Portalbetreiber

PaulBla 
Beitragsersteller
 05.02.2014, 14:28

Kann ich das in eine php variable bekommen ?

ALS php:

$myInstance = $_POST['myInstance'];

echo $myInstance;


Sedd90  05.02.2014, 14:33

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? ;)

Hallo,

was spricht dagegen das mit einer Textarea zu machen? für alles Andere wirst du wohl um JavaScript nicht rumkommen...

LG Sedd


Sedd90  05.02.2014, 14:27

Wenn du es per JavaScript auslesen willst:

var meienVariable = document.getElementByID('myInstance').innerHtml;

so grob ausm Kopf aufgeschrieben

Sedd90  05.02.2014, 14:30
@Sedd90

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 ;)

PaulBla 
Beitragsersteller
 05.02.2014, 14:31
@Sedd90

Bekomme ich das dann irgendwie in eine php-variable ? bzw. kann ich das irgendwie in die Datenbank schreiben?

Sedd90  05.02.2014, 14:36
@PaulBla

Ich würde dir tatsächlich raten, das irgendwie über eine Textarea hinzubekommen.

Ich gehe mal davon aus, dass du noch relativ am Anfang des HTML-Universum stehst und alles andere würde schwierig werden, weil du da dann ohne AJAX nicht mehr auskommen würdest.

PaulBla 
Beitragsersteller
 05.02.2014, 14:48
@Sedd90

Hättest du ein Beispiel mit AJAX?

Sedd90  05.02.2014, 14:57
@PaulBla

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 ;)

PaulBla 
Beitragsersteller
 05.02.2014, 14:59
@Sedd90

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.

Sedd90  05.02.2014, 15:16
@PaulBla

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?

PaulBla 
Beitragsersteller
 05.02.2014, 15:25
@Sedd90

Könnte ich raus nehmen aber ich würde den editor gerne benutzen :) Möchte ich aber ungern.

Das mit der textarea wäre ja kein Problem, aber ich möchte gerne einen editor benutzen.

Sedd90  05.02.2014, 15:28
@PaulBla

Sorry, die Antwort verstehe ich jetzt gerade nicht...

Du beschwerst dich,dass der NicEdit kommt, willst ihn aber nicht rausnehmen?

Sedd90  05.02.2014, 15:28
@PaulBla

Sorry, die Antwort verstehe ich jetzt gerade nicht...

Du beschwerst dich,dass der NicEdit kommt, willst ihn aber nicht rausnehmen?

PaulBla 
Beitragsersteller
 05.02.2014, 15:28
@PaulBla

*Ich möchte ungerne auf den editor verzichten

PaulBla 
Beitragsersteller
 05.02.2014, 15:30
@Sedd90

Ich beschwere mich nicht wirklich ich Frage nur ob es Wege gibt etwas aus einem div in die Datenbank zu über geben.

Sedd90  05.02.2014, 15:40
@PaulBla

Wie willst du überhaupt Inhalte in den Div bekommen? Der is ja kein Eingabefeld.

Ansonsten gehts halt über die AJAX-Variante, mir ist gerade eingefallen, da müsste dann das div-feld noch extra angehängt werden.

PaulBla 
Beitragsersteller
 05.02.2014, 14:27

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

Sedd90  05.02.2014, 14:29
@PaulBla

NicEditor? Kannst du da nichts in den Quelltext reinschreiben?

wäre einfach

<textarea name="myInstance" cols="50" rows="10"></textarea>