onSubmit - Formcheck UND getElement?

mnbvcxy

Mitglied
Folgende Situation:

Ein Formular mit Elementen. Außerdem noch ein <div>-Feld mit contenteditable (diese WYSIWYG-Geschichte vom IE). Soweit so gut.

<form name="main" action="cms.php?section=52" onsubmit="return (this.elements[0].value=document.all.divEditable.innerHTML)" method="post">

<input type="hidden" name="html">
....
</form>

<div style="width=760; height=500; background-color:white; font-face:Arial; padding:3; border:inset 2px; overflow=auto;" id="divEditable" contenteditable>
inhalt
</div>
Beim onsubmit wird das div-Element gelesen und abgesendet. Das geht sehr gut. Der rest der Elemente auch.
Nur wie schafft man es, das mit einem Formularcheck zu verbinden

Normalerweise reicht ja ein onsubmit=return check(); mit der entsprechenden Funktion. Das funktioniert auch, nur halt nicht mit dem Befehl zum auslesen des div-Feldes. Ein Simples hintereinander schreiben hat nicht hingehauen. In einer extra Funktion gings auch nicht, da hat das this.elements.. nicht mehr hingehauen...

Hat da jemand eine Idee?
 
Änder die check()-Funktion so ab, dass du nirgens true returnst sondern statt dessen den value des <div>s.

z.B.
HTML:
<script>
 function check() {
   if (document.main.feld.value == '') { return false; }
   else { return main.elements[0].value=document.all.divEditable.innerHTML; }
   }
  </script>
   
   <form name="main" action="cms.php?section=52" onsubmit="return check()" method="post">
 
Zuletzt bearbeitet:
jaaa....wunderbar!
hab sowas auch probiert, nur mein fehler war das this.element... nicht geändert zu haben :-(

Kann man das ganze auch per javascript-link hinbekommen? D.h. ohne <input type=submit..
Man kann ja in einer JS-Funktion ein Formular absenden.
Denn ich würd ganz gerne die Felder oben, dann das div-element und unten den button. Das Formular muss leider vor dem div enden, da ich dort ein anderes Formular eingebaut habe (für das menü...)!
Mal ausprobieren

Danke schonmal!

P.S.: I_love_tutorials.de
 
Dein letzer Post war etwas wirr, aber versuchs mal mit:
HTML:
<a href="javascript:document.main.submit()">Link</a>
 
con-f-use hat gesagt.:
Dein letzer Post war etwas wirr, aber versuchs mal mit:
:-( tut mir leid, war schon spät!

[Edit]

Tja, damit geht es leider nicht.
Sowohl die Abfrage, ob das Feld leer ist oder nicht, als auch der value aus dem div-Feld werden nicht beachtet!
D.h. das div-Element wird nicht gespeichert und die Abfrage wird nicht durchgeführt...
 
Zuletzt bearbeitet:
function check(){
if(document.main.Name.value == "") {
alert("Bitte geben Sie einen Titel ein!");
document.main.Name.focus();
}
else{
main.elements[0].value=document.all.divEditable.innerHTML;
document.main.action ="cms.php?section=52";
document.main.submit();
}
}
Damit gehts!!
 

Neue Beiträge

Zurück