2009-03-28 3 views
0

Ich versuche, eine Variable frm php an eine JavaScript-Funktion übergeben, aber ein Raum wird immer angegangen, und ich kann nicht sehen, wie.zusätzliche Mystery Space in PHP-Code

Der entsprechende PHP-Code-Schnipsel:

<p><a href='#' onclick=\"makewindows(" . $html . "); return false;\">Click for full description </a></p>".$brand." 
     <p><a href=\"#\" onclick=\"deleteRec('".$ARTICLE_NO."', '".$brand."', '".$pg."', '".$nextArticleNo."')\">DELETE</a> 

$ Marke ist das, was ich zu übergeben möchten, und deleteRec ist der Name der Funktion.

Am Ende der ersten Zeile echote ich Marke vor dem Link zu deleteRec, und es enthält keinen Speicherplatz. In meinem Testfall ist es einfach auf "o" gesetzt.

Die Verknüpfung, die für deleteRec erzeugt wird, enthält jedoch eindeutig ein Leerzeichen, und ich weiß nicht, wo es herkommt.

<a href="#" onclick="deleteRec('190274380300', ' o', '2', '250343889611')">DELETE</a> 

Antwort

2

Do var_dump ($ Marke) und genau hinsehen - es ist fast sicher ein Platz drin!

In diesem Fall können Sie dagegen wache mit trim

$brand=trim($brand); 
+0

var_dump ($ Marke); gibt String (1) "o" zurück, definitiv kein Leerzeichen. –

1

Wechsel:

<p><a href=\"#\" onclick=\"deleteRec('".$ARTICLE_NO."', '".$brand."', '".$pg."', '".$nextArticleNo."')\">DELETE</a> 

zu:

<p><a href=\"#\" onclick=\"deleteRec('".$ARTICLE_NO."', '".trim($brand)."', '".$pg."', '".$nextArticleNo."')\">DELETE</a> 

und uns sagen, wie es geht.

+0

"Am Ende der ersten Zeile bin ich Marke vor dem Link zu deleteRec, und es enthält kein Leerzeichen" – bzlm

+0

@bzlm, debugging ist alles über solche Annahmen nicht vertrauen. Er hat nicht genügend Code gepostet, um sicherzustellen, dass in der Variablen kein Leerzeichen enthalten ist. –

+0

So oder so, wenn Sie eine Trimmung auf $ Marke machen, sollte es es beheben. Ohne Zugriff auf all Ihren Code ist es uns nicht möglich zu sagen, warum genau zu $ ​​Marke ein Leerzeichen hinzugefügt wurde :) –

1

versuchen Sie die folgenden do echo:

echo "--$brand--"; 

Auf diese Weise werden Sie auch, um zu sehen, ob es irgendwelche Räume sind in Die Variable.

Als allgemeine Frage des Stils, würde ich aus dem zweiten Link ändern:

<a href=\"#\" onclick=\" 
     deleteRec('".$ARTICLE_NO."', '".$brand."', '".$pg."', '".$nextArticleNo."')\">DELETE</a> 

zu:

<?php 
$deleteRecArgs = "'$ARTICLE_NO', '$brand', '$pg', '$nextArticleNo'"; 
?> 
<a href="#" onclick="deleteRec(<?php echo $deleteRecArgs?>)">DELETE</a> 

Es ist einfacher zu lesen und zu pflegen.

+0

Ja, hallt so heraus, dass es keinen Platz gibt! –

+0

Dann ist es nur bizarr :) Bug in PHP oder Browser Caching etwas? – ya23