php.de

Zurück   php.de > Webentwicklung > JavaScript, Ajax und mehr

JavaScript, Ajax und mehr dynamisches Scripten und Interaktion auf Clientebene

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 26.05.2010, 15:06  
Registrierer
Gast
 
Beiträge: n/a
Standard wie kann ich onChange="this.form.submit()" mit Paramtern benutzen?

Wenn ich das Formular absende, bekomme ich die entsprechende Variable "save" per Post ausgeliefert.
Wenn es dagegen durch onChange="this.form.submit()" abgesendet wird fehlt mir diese. Auch per REQUEST nicht.
Wie kann ich onChange="this.form.submit()" in einem Textfeld mit Parametern ausliefern?

PHP-Code:
// Ergebnis
$ergebnis        mysql_query("SELECT * FROM ".$vor_det." WHERE LFS='".$_POST['save']."'") or die(mysql_error());
$zeile_ergebnis mysql_fetch_array($ergebnis);
echo 
$zeile_ergebnis['LFS'];

// Frage
echo '
<form name="vorschlag" method="post" action="">
  <table border="1" align="center" cellpadding="5">'
;
  
$positionen       mysql_query("SELECT * FROM ".$vor_det."") or die(mysql_error());
  while (
$zeile_pos mysql_fetch_array($positionen))  {
  echo 
'
    <tr>
      <td>
        <input type="hidden" name="speicherposition" value="'
.$zeile_pos['LFS'].'">
        <input type="text" name="text_1" value='
.$zeile_pos['TEXT_1'].' onChange="this.form.submit()">
        <input type="submit" name="save" value="'
.$zeile_pos['LFS'].'">
      </td>
    </tr>'
;
  }
  echo 
'
  </table>
</form>'

  Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 26.05.2010, 15:20  
Benutzer
 
Registriert seit: 14.10.2009
Beiträge: 35
PHP-Kenntnisse:
Fortgeschritten
woskamp befindet sich auf einem aufstrebenden Ast
woskamp eine Nachricht über Skype™ schicken
Standard

Das würde ich an Deiner Stelle mit Ajax lösen

PHP-Code:
<div id="header_suche">
 <
form name="suche" method="post" action="${getPath}/${aSession/language}/article/search">
 <
strong>${text/such_feld_header}</strong>
 <
input autocomplete="off" id="inputString" onKeyUp="lookup(this.value,'${getPath}');" name="search" class="textfield" type="text" style="width:180px; height:14px;" tal:attributes="value search |  NULL" />
 <
input type="image" src="${getPath}/assets/images/header_suche_button.png" />

 <
div class="suggestionsBox" id="suggestions" style="display: none;">
  <
div class="suggestionInfo">
  <
span style="float:left; color:#000;">${text/vorschlag_suche}</span>
  <
span style="float:right;"><a title="close" style="cursor: pointer" onclick="hide('suggestions');">X</a>&nbsp;</span>
  </
div>
 <
div class="suggestionList" id="autoSuggestionsList"></div>
</
div>

</
form>
</
div
mein dazugehörige JS Code:
Code:
function lookup(inputString,CurrentServer)
{
  if(inputString.length <= 2)
  {
    $('#suggestions').hide();
  }
  else
  {
    $.post(CurrentServer+"/controller/ajax_article_search.php", {queryString: ""+inputString+""}, function(data)
    {
      if(data.length >0)
      {
        $('#suggestions').show();
        $('#autoSuggestionsList').html(data);
      }
     });
  }
}

function fill(thisValue)
{
  $('#inputString').val(thisValue);
  $('#suggestions').hide();
  
  document.suche.submit();
}
und meine Ajax ausführende PHP Datei

PHP-Code:
<?php

date_default_timezone_set
('Europe/Berlin');
$dir_root dirname(__FILE__);
define('DIR_ROOT',  str_replace('controller'''$dir_root));

session_start();
include(
'Base/Db.php');
$aField = array('sprache''bezeichnung''artnr');

$db = new db;
$db->setDB('shop');
$db->setTable('Artikeltexte');
$db->addTable('Artikel''artnr');
$db->setSelect('Artikel.artnr');
$db->addSelect('Artikeltexte.artnr, Artikeltexte.bezeichnung');

$db->setWhere("Artikeltexte.".$aField['0']." = '?'"$_SESSION['language']);
$db->setWhere("Artikeltexte.".$aField['1']." LIKE '%?%'"$_POST['queryString']);
$db->setWhere("Artikel.aktiv ='?'"'ja');

for(
$i=2$i<count($aField); $i++)
{
  
$db->addWhere("Artikeltexte.".$aField[$i]." LIKE '%?%'"$_POST['queryString']);
  
$db->setWhere("Artikeltexte.".$aField['0']." = '?'"$_SESSION['language']);
  
$db->setWhere("Artikel.aktiv = '?'"'ja');
  
$db->setWhere("Artikel.artnr = ?"'Artikeltexte.artnr');
}

$db->setLimit('15');
$db->setQuery('select'TRUE);

for(
$i=0$i<count($db->aValue); $i++)
{
  echo 
'<li onclick="fill(\''.$db->aValue[$i]['bezeichnung'].'\');">'.$db->aValue[$i]['artnr'].' - '.substr($db->aValue[$i]['bezeichnung'],0,60).'</li>';
}
?>
__________________
Gruß Werner
Mein kleines Projekt: Fussball Satrup
Wird ein OpenSource CMS für Fussballvereine
woskamp ist offline   Mit Zitat antworten
Alt 26.05.2010, 15:31  
Registrierer
Gast
 
Beiträge: n/a
Standard

Oh, oh, mit Ajax hab ich noch gar keine Erfahrungen.
Das wäre sicher zukünftig lernenswert, aber aus Zeitgründen für diese eine Funktion im Moment jedenfalls zu aufwändig für mich.

Trotzdem danke!
  Mit Zitat antworten
Alt 26.05.2010, 16:50  
Erfahrener Benutzer
 
Registriert seit: 15.04.2010
Beiträge: 813
PHP-Kenntnisse:
Fortgeschritten
Paul.Schramenko befindet sich auf einem aufstrebenden Ast
Standard

@woskamp:
dein JS-Code sieht bisl nach jQuery aus...
__________________
"My software never has bugs, it just develops random features."
"Real programmers don't comment. If it was hard to write, it should be hard to understand!"
Positive Bewertungen sind nicht unwillkommen...
Paul.Schramenko ist offline   Mit Zitat antworten
Antwort


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
http://www.php.de/javascript-ajax-und-mehr/68297-wie-kann-ich-onchange-form-submit-mit-paramtern-benutzen.html, this.form.submit(), this.form.submit, php this.form.submit, this.form.submit parameter, onchange submit form, onchange submit, onchange=\this.form.submit()\, onchange this.form.submit, onchange submit parameter, onchange form submit, form onchange submit, this.form.submit php, php this.form.submit(), onchange this., onchange post, text onchange submit, php onchange=\this.form.submit(), onchange=\\\this.form.submit(), onchange this.form.submit php

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




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum