PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Formular in JavaScript-Fenster schicken


c4
09.06.2005, 11:12:53
Moin,

ich weiß, dass das mal ging, nur weiß ich nicht, ob ich es mal genau so gemacht hatte: <script type='text/javascript'>
function do_submit(action) {
if (document.getElementById('form')) {
document.getElementById('sub').value='preview';
document.getElementById('form').target='windowLocationImport';

if (!action) {
if (document.getElementById('auto_preview').checked) {
document.getElementById('form').submit();
}
}
else if (action==1) {
document.getElementById('sub').value='import';
document.getElementById('form').target='_self';
document.getElementById('form').submit();
}
else if (action==2) {
document.getElementById('form').submit();
}
}
}

function do_window() {
var win = window.open('', 'windowLocationImport', 'width=550, height=400');
return false;
}
</script>

<form action='boxContent.php' method='get' id='form' onsubmit='do_window()' target='windowLocationImport'>
...
</form> Beim Abschicken soll also ein Fenster geöffnet werden und die Auswertung dann dort erfolgen.
Soweit alles kein Problem. Das Problem ist, dass er ein normales Fenster öffnet und nicht eins mit der angegebenen Größe.

Wo liegt der Fehler?

Danke
Carsten

dachris
09.06.2005, 12:05:37
Probiers doch mal so

<script type='text/javascript'>
function do_window() {
myfenster = window.open('', 'windowLocationImport', 'width=550, height=400');
return false;
}
</script>

c4
09.06.2005, 12:09:07
Wäre schlimm, wenn diese marginalen Änderungen was gebracht hätten.
Klappt nicht.

dachris
09.06.2005, 12:12:30
Bei mir funzts :-)

Habe aber auch das Target und die Datei angegeben.....

xabbuh
09.06.2005, 12:21:45
Das Problem kann ich nicht nachvollziehen. Bei mir funktioniert es problemlos. Evtl. JavaScript deaktiviert?

c4
09.06.2005, 12:35:48
JavaScript ist aktiviert. Klappt weder im IE, noch im Mozilla.

Ich hatte eine Kleinigkeit aus dem Code entfernt: do_submit() Ich ging bisher nicht davon aus, dass er relevant ist.
Diese Funktion wird aufgerufen, wenn diverse Felder geändert werden oder Buttons geklickt werden.
Ausschnitt, in dem alle 3 Fälle vorkommen: <table cellpadding='3' cellspacing='0' border='0' class='formborder' width='480'>
<tr>
<td colspan='2' class='formheader1'>Extended settings</td>
</tr>
<tr>
<td class='row1'>Total count of lines in preview</td>
<td class='row1'><input type='text' name='PREVIEW_COUNT' value='10' onchange='do_submit()'></td>
</tr>
<tr>
<td class='row1'>&nbsp;</td>
<td class='row1' colspan='2'><input type='button' value='Show preview' onclick='do_submit(2)' class='buttomain'></td>
</tr>
</table><br>

If preview looks like you expected, you can import your file with the current settings. But <b>remember:</b> Every existing location will be deleted before import!<br>
<input type='button' value='Import data' onclick='do_submit(1)'>
</form>

So, weitere Ideen?

dachris
09.06.2005, 13:09:12
Probiers mal so :-)

text' name='PREVIEW_COUNT' value='10' onChange='do_submit()'></t

also nicht onchange sondern onChange

d.h. das Wort nach on als EventHandler Gross

http://de.selfhtml.org/javascript/sprache/eventhandler.htm

c4
09.06.2005, 13:13:56
Nu weeß ick's! Wenn man ein Formular mit submit() abschickt, dann springt onsubmit (Klein- und Großschreibung egal) nicht an. Ich schaue mal, wie man's umbauen kann.

c4
09.06.2005, 13:17:01
So tut's: <script type='text/javascript'>
function do_submit(action) {
if (document.getElementById('form')) {
document.getElementById('sub').value='preview';
document.getElementById('form').target='windowLocationImport';

if (!action) {
if (document.getElementById('auto_preview').checked) {
window.open('', 'windowLocationImport', 'width=<?php echo PREVIEW_WIDTH; ?>, height=<?php echo PREVIEW_HEIGHT; ?>');
document.getElementById('form').submit();
}
}
else if (action==1) {
document.getElementById('sub').value='import';
document.getElementById('form').target='_self';
document.getElementById('form').submit();
}
else if (action==2) {
window.open('', 'windowLocationImport', 'width=<?php echo PREVIEW_WIDTH; ?>, height=<?php echo PREVIEW_HEIGHT; ?>');
document.getElementById('form').submit();
}

return false;
}
}
</script>

xabbuh
09.06.2005, 20:29:43
d.h. das Wort nach on als EventHandler Gross
Warum sollte er denn auf die XHTML-konforme Schreibweise verzichten?

dachris
10.06.2005, 11:53:26
Wieso onChange ist doch konform...

http://de.selfhtml.org/javascript/sprache/eventhandler.htm

xabbuh
10.06.2005, 14:34:45
Wieso onChange ist doch konform...
Ich bin mir sicher, dass du bei einem XHTMl-Doctype im Validator hängen bleibst, wenn es so schreibst.