PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr

PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr (https://www.php-resource.de/forum/)
-   HTML, JavaScript, AJAX, jQuery, CSS, Bootstrap, LESS (https://www.php-resource.de/forum/html-javascript-ajax-jquery-css-bootstrap-less/)
-   -   Prototype / scriptaculous event (https://www.php-resource.de/forum/html-javascript-ajax-jquery-css-bootstrap-less/93944-prototype-scriptaculous-event.html)

mcmurphy 30-09-2008 15:17

Prototype / scriptaculous event
 
hi,
habe mir mit Prototype / scriptaculous (und dieser function ) eine dialogbox mit einer form gebaut.
Merkwürdigerweise funktioniert der submit Button nicht, obwohl dieser laut Firebug richtig eingebaut ist:
PHP-Code:

<form name="daForm" action="index.php?action=viewAllEntryChange&workid=14220" method="post">
// diverse input felder
<input type="submit" value="test"/>
</
form

In dem Script das ich als Basis benutze steht u.a. folgendes:
PHP-Code:

    // Hide the overlay when clicked. Ignore clicks on the dialog.
    
Event.observe(this.overlay'click'this.hide.bindAsEventListener(this));
    
Event.observe(this.dialog'click',  function(event) { Event.stop(event) }); 

Hätte ja die Vermutung das damit Events bei Clicks auf dem Dialog unterdrückt werden.
Was mich dann aber wundert ist dass ein div mit onclick:
PHP-Code:

<form name="daForm" action="index.php?action=viewAllEntryChange&workid=14220" method="post">

<
input type="submit" value="test"/>
</
form>
<
div onclick="document.daForm.submit()">bla</div

die Form abschickt....
Kann mir einer das "Wunder" erklären oder zeigen wie ich den Submit Button freigeben kann?
THX

Schnoop 30-09-2008 15:42

Ich hatte mal das Problem das dass Wort "test" wohl irgendwie als var oder ähnlichem vergeben war.

Versuch doch mal ne andere ID.

mcmurphy 30-09-2008 15:49

Zitat:

Ich hatte mal das Problem das dass Wort "test" wohl irgendwie als var oder ähnlichem vergeben war.
Schade das war es nicht....
Man sieht auch das der Button optisch regiert, aber eben nicht die Form abschickt.
Was auch komisch ist:
wenn ich den cursor in ein Input Feld setze sieht man normalerweise einen blinkenden Balken als Zeichen dass das Feld den Focus hat.
Das ist nicht der Fall; Eingaben funktionieren aber.
Wie könnte ich das "normale" Verhalten wiederherstellen - mir wäre es egal, weiß aber das die User von so was irritiert werden...

PHP-Desaster 30-09-2008 22:00

Re: Prototype / scriptaculous event
 
Was ist denn this.dialog in deinem Skript? Kann gut sein, dass dadurch ein Klick auf den Submitbutton ohne Erfolg ist. Denke, da bist du auf das Bubbling von Events gestoßen.

mcmurphy 01-10-2008 11:55

THX Php Desaster, habe mal nach Event Bubbling gegoogelt und führe mir das mal zu Gemüte.
Kennst du noch einen guten Link zum Thema?
this.dialog ist die Box.
Das Script ist ja nicht von mir, habe ich nur als Basis verwendet (siehe den Link in meinem ersten Post).
Event.observe(this.dialog, 'click', function(event) { Event.stop(event) });

verstehe ich so, das alle clicks die in this.dialog ausgelöst werden gestoppt werden.
Verstehe dann aber nicht das
<div onclick="document.daForm.submit()">bla</div>
in this.dialog ausgelöst wird.
und die Form wird ja eigentlich nicht mit onclick ausgelöst (weiß jetzt auch nicht ob das drücken eines Submit Buttons das Event click oder direkt das Event submit auslöst)
Wie müsste ich den Event.observer umschreiben das submit nicht gefiltert wird?


Alle Zeitangaben in WEZ +2. Es ist jetzt 09:42 Uhr.

Powered by vBulletin® Version 3.8.2 (Deutsch)
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.
Search Engine Friendly URLs by vBSEO 3.3.0
[c] ebiz-consult GmbH & Co. KG