Beach: Formularfeld und drücken der Returntaste

Beitrag lesen

Hi,

ich möchste Formular mittels XMLHttpRequest an den server schicken

Wenn ich in einem Textfeld die Returntaste drücke wird der onchange Event ausgelöst. Allerdings wird dann automatisch die Seite neu geladen. Wenn ich das Feld mittels Mausklick verlasse funktioniert alles.

Hat hier jemand ne idee.

Grüße Thomas

-----Datei user.php------
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="de" lang="de">
<head>
...
<script type="text/javascript">
/* <![CDATA[ */

var http = null;
if (window.XMLHttpRequest) {
  http = new XMLHttpRequest();
} else if (window.ActiveXObject) {
  http = new ActiveXObject("Microsoft.XMLHTTP");
}

function show(feld, id) {                   //Einblenden der standartmäßig ausgeblendeten Formularfelder
  element = document.getElementById("feld_"+feld+"_"+id);
  element.style.display = 'inline';
  element.focus();
}

function update(feld, id) {               //Absenden des Formulars
  if (http != null) {
    http.open("POST", "/ajax/user_sql.php", true);
    http.onreadystatechange = ausgeben;
    http.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
    message='sql_id='+id+'&sql_field='+feld+'&sql_value='+document.forms['formular_'+id].elements['feld_'+feld].value;
    http.send(message);
  }
}

function hide(feld, id) {                  // Feld nur verstecken wenn keine Änderung erfolgt ist.
  element = document.getElementById("feld_"+feld+"_"+id);
  element.style.display = 'none';
}

function ausgeben() {
  if (http.readyState == 4) {
    if (http.responseText != '') {
      alert(http.responseText);
    }
  }
}

/* ]]> */
</script>
</head>
<body>

<form name="formular_1" action="">
   <span class="table name" id="text_name_1" onclick="show('name', '1')" title="Benutzername">admin </span>
   <input class="table name" type="text" id="feld_name_1" name="feld_name"  value="admin" onchange="update('name', '1')" onblur="hide('name', '1')" >

<span class="table recht_plan" id="text_recht_plan_1" onclick="show('recht_plan', '1')">W </span>
   <select class="table recht_plan" id="feld_recht_plan_1" name="feld_recht_plan" size="1" onchange="update('recht_plan', '1')" onblur="hide('recht_plan', '1')" >

<option >R</option>
      <option selected>W</option>
      <option >N</option>
    </select>
   <span class="table recht_firmen" id="text_recht_firmen_1"onclick="show('recht_firmen', '1')">W </span>
<select class="table recht_firmen" id="feld_recht_firmen_1" name="feld_recht_firmen" size="1" onchange="update('recht_firmen', '1')" onblur="hide('recht_firmen', '1')" >
      <option >R</option>

<option selected>W</option>
      <option >N</option>
    </select>
   <span class="table recht_firma_zuord">W </span>
   <span class="table recht_benutzer">W </span>
   </div>
   </form>
...
 </body>
 </html>