phpbar.de logo

Mailinglisten-Archive

[php] [OT] 1 Formulartexteingabefeld im IE abschicken mit return

[php] [OT] 1 Formulartexteingabefeld im IE abschicken mit return

Thorsten Koch ml at osus.de
Die Mai 3 11:43:31 CEST 2005


Tach,

Ich weiß nicht, warum das nicht klappen soll, aber ich weiß, wie Du
einen Work-Around machen kannst.

Untenstehende Funktionen kannst Du so umschreiben, dass wenn er "enter"
in einem INPUT-Feld gedrückt hat, dass dann das Formular abgesendet
wird. Du mußt die Funktion EnterNoSubmit dann evtl. mit einem Pointer
auf das Formular erweitern oder durch die Funktion
getElementWhereKeyPressed() rausfinden, welches Formular abgeschickt
werden soll.


/** getKeyPress()
 *  
 * { gets the keycode (ASCII) of the last pressed key}
 *
 */
function getKeyPress (documentevent)
{
	if (window.event) return window.event.keyCode; // MS IE
	else if (documentevent.which) return documentevent.which; //
Netscape
	else return false;
}



/** EnterNoSubmit(documentevent)
 *
 * { Display the type/name of the Element, where the key was pressed }
 *
 **/ 
function getElementWhereKeyPressed(evt)
{
	var node="";

	if (window.event) evt=window.event;

	if (evt.srcElement) node = evt.srcElement;
	else if (evt.target) node = evt.target;
	else node = null;
	if (node)
	{
		return node.nodeName;
	}
	return false;
}



/** EnterNoSubmit(documentevent)
 *
 * { stop a form submit after pressing the enter key when focus is in an

 *   input field }
 *
 **/
function EnterNoSubmit(documentevent)
{
	key=getKeyPress(documentevent);
	if (key==13)
	{
		el = getElementWhereKeyPressed(documentevent);
		if(el == 'INPUT')
		{
			return false;
		}
	}
}




Mit freundlichen Grüßen aus Stuttgart

Thorsten Koch




php::bar PHP Wiki   -   Listenarchive