ShopPilot > Ajax Fragen

leeren Wert [null] abfangen?

(1/1)

dobra:
Hallo,

bei klick auf ein Image soll ein Wert (im Beispiel 21) übergeben werden

HTML:
<a href="javascript:void()" onclick="slider1(21);"> <img style="border:none;" src="../images/arrow_weiter.gif"></a>

JS

--- Code: ---function slider1(xweiter){

 if (-1 != myinterface.search(/__xxpath__\?/)) {
      return;
  }

if (document.getElementById("xmin")) { var min = document.getElementById('xmin').value;}
##div, Variablen auslesen

  var postdata = {
method : 'slidersearch1',
id : 0,
params : [min,max,min2,max2,kat,asdesc,orderby,herst,xweiter]
};
--- End code ---

ipl

--- Code: ---  my $limit = $pCall->{params}[8]; # nächste Seite
 
  my $count = ssp::readSQLData(qq|SELECT ITEMID, ... FROM $ITEM WHERE ... ORDER BY $orderby $updown LIMIT $limit,21|, "ITEMID",....);
--- End code ---

das funktioniert, wenn der Link angeklickt wird

firebug

--- Code: ---{"method":"slidersearch1","id":0,"params":["1.5","5.9","5.5","15","alle","ASC","ARTIKELNAME","",21]}
--- End code ---

wird die Seite aber aufgerufen OHNE dass dieser Link geklickt wurde, wird "null" übergeben

--- Code: ---{"method":"slidersearch1","id":0,"params":["1.5","5.9","5.5","15","alle","ASC","ARTIKELNAME","",null]}
--- End code ---

und ich bekomme die Fehlermeldung

--- Code: ---DBD::ODBC::st execute failed: [MySQL][ODBC 3.51 Driver][mysqld-5.0.67-community-nt]You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '21' at line 1 (SQL-42000)(DBD: st_execute/SQLExecute err=-1) at Ibodata.pm line 1986.

--- End code ---

das ist mir soweit auch klar - "null" ist ja keine Zahl und kann daher nicht in einer LIMIT-Bedingung verwendet werden

meine vergeblichen Versuche

--- Code: ---  my $weiter = $pCall->{params}[8]; # nächste Seite
  my $limit = 0;
if (lenght($weiter)) {$limit = $weiter;}
--- End code ---
oder

--- Code: ---if ($weiter ne "null") {$limit = $weiter;}
--- End code ---
oder

--- Code: ---if ($weiter != 0) {$limit = $weiter;}
--- End code ---
funktioniert alles nicht und google hat mir auch keine Lösung verraten  :(

wie kann ich dieses "null" wenn kein Wert übergeben wird abfragen?

Linkback: https://www.shoppilot.net/pf/index.php?topic=1518.0

dobra:
dummer Gedankenfehler  :-[

hatte im body-tag

--- Code: ---<body  onload="slider1();">
--- End code ---

wenn ich Werte mit

--- Code: ---<a href="javascript:void()" onclick="slider1(21);">
--- End code ---
übergeben will, müssen die natürlich auch hier definiert sein!

also im Beispiel

--- Code: ---<body  onload="slider1(0);">
--- End code ---
wenn der Startwert "0" sein soll

dann funktioniert auch

--- Code: ---my $limit = $pCall->{params}[8]; # nächste Seite
--- End code ---

und

--- Code: ---... LIMIT $limit,21 ...
--- End code ---
in der DB-Abfrage  :)

dobra:
Nachtrag:

"null" Wert abfragen geht auch - aber NICHT in der ipl-Datei sondern das muss bereits in der js-Datei erfolgen


--- Code: ---if (xweiter == null) {var xweiter = 0;}
--- End code ---

nur der Vollständigkeit halber
(und für mich zum nachlesen, wenn ich das beim nächsten Projekt wieder vergessen habe  ;) )

Navigation

[0] Themen-Index

Go to full version
Powered by SMFPacks SEO Pro Mod | Sitemap