CGI:Ajax mehrere parameter ÃŒbergeben an Ajax Funktion?

11/11/2010 - 11:15 von Wilhelm Greiner | Report spam
Hallo,

ich habe eine Ajax Funktion nach dem Beispiel auf cpan
erstellt, funktioniert. Die Funktion übergibt Daten von
einem <imput> HTML Field.

Ich möchte nun zusàtzlich noch weitere Hidden input Fields
übergeben.

Geht das?


Also aus:

$output.='<input type="text" name="test" id="test"
onkeyup="exported_func([\'test\'], [\'resultdiv1\'], \'POST\');">';

soll werden:
$output.='<input type="text" name="test1" id="test1" value="test1">';
$output.='<input type="text" name="test" id="test"
onkeyup="exported_func([\'test\'], [\'resultdiv1\'], \'POST\');">';


Normal müsste das doch gehen, mit nur einer Pariable ist es
doch unhandlich...

Perfekt wàre es noch wenn das Hidden Field als http GET und das
Text Field als http POST abgesetzt würde.



PS: Auch interessant wàre es zu wissen wie man in einer Funktion
für ein resultdiv "sehen" kann welches resultdiv die Funktion
ausgelöst hat wenn es mehrere gibt. Wie macht man das denn?

Wilhelm
 

Lesen sie die antworten

#1 Christian Kirsch
11/11/2010 - 11:45 | Warnen spam
Wilhelm Greiner schrieb:
Hallo,

ich habe eine Ajax Funktion nach dem Beispiel auf cpan
erstellt, funktioniert. Die Funktion übergibt Daten von
einem <imput> HTML Field.

Ich möchte nun zusàtzlich noch weitere Hidden input Fields
übergeben.

Geht das?


Also aus:

$output.='<input type="text" name="test" id="test"
onkeyup="exported_func([\'test\'], [\'resultdiv1\'], \'POST\');">';



Möglicherweise wàre derlei besser lesbar, wenn Du den passenden
Quoting-Operator (q,qq etc.) verwendetest. Oder - wie in dem
CPAN-Beispiel, auf das Du Dich beziehst - den Code per << direkt inline
unterbringst.


soll werden:
$output.='<input type="text" name="test1" id="test1" value="test1">';
$output.='<input type="text" name="test" id="test"
onkeyup="exported_func([\'test\'], [\'resultdiv1\'], \'POST\');">';



Hübsch finde ich dieses Durcheinandermanschen von JavaScript und Perl
nicht. Und besonders flexibel will es mir auch nicht erscheinen, dass
die Antwort des Servers immer irgendwie in einem DIV landen muss.
Aber das ist natürlich Geschmackssache...

Normal müsste das doch gehen, mit nur einer Pariable ist es
doch unhandlich...



Die Dokumentation ist zumindest, was mehrere Variablen angeht,
hinreichend klar (finde ich):

onClick="JSFUNC(['source1','source2'], ['dest1','dest2']);"

Auch bezüglich des POST steht der entscheidende Text in der Dokumentation:

onClick="exported_func(['input1'],['result1'], 'POST');"

Perfekt wàre es noch wenn das Hidden Field als http GET und das
Text Field als http POST abgesetzt würde.



In EINEM HTTP-Request? Wie soll das gehen? Der Request *ist* entweder
GET oder POST, und was versprichst Du Dir überhaupt davon, das eine so,
das andere anders zu senden?

PS: Auch interessant wàre es zu wissen wie man in einer Funktion
für ein resultdiv "sehen" kann welches resultdiv die Funktion
ausgelöst hat wenn es mehrere gibt. Wie macht man das denn?



Wie gesagt, ich würde das Modul nicht benutzen (es bietet Dir allerdings
auch die Möglichkeit, selbstgeschriebene JS-Funktionen anzubinden -
wiederum leicht in der Dokumentation zu finden). In einem solchen
Event-Handler würdest Du dann auf das passende Attribut des Events
zugreifen. Natürlich unter der Berücksichtigung der üblichen
Browser-Besonderheiten :-(

Ähnliche fragen