2012-04-10 13 views
0

Hallo, ich bin ein Neuling zu Java-Skript. Probleme beim Übergeben der Zeichenfolgenvariable, deren Wert einen Bindestrich als Funktionsparameter enthält. Feuer Bug löst den Fehler aus, dass 'Bezeichner direkt nach numerischem Literal beginnt'Wie übergeben Sie eine String-Variable mit Wert mit Bindestrichen als Java-Script-Funktion Parameter

Ich verwende Flexigrid um Daten anzuzeigen. In jeder Zeile wurde ein Bild platziert. Beim Klick auf dieses Bild sollte eine Java Script Funktion aufgerufen werden. Einrichten von Flexigrid Aufzeichnungsinhalt wird in Java gemacht, wie unten,

record.put("view","<img src='images/ic_text_document.png' onclick='view_content("+objid+")'/> "); 

Wert des varible objid ist so etwas wie dieses c2692d22-a407-4d38-85ee-5c16f25bcce7. Firebug throws Bezeichner beginnt unmittelbar nach numerischem Literalfehler, indem auf die 14. Stelle (im obigen Beispiel bei 4) gezeigt wird.

Versucht, die Variable mit einer anderen Kombination von Anführungszeichen übergeben, wie in anderen Posts vorgeschlagen, aber dint Arbeit. Kann mir jemand dabei helfen?

Antwort

0

sollten Sie zitieren den objid Wert, wie

record.put("view","<img src='images/ic_text_document.png' onclick='view_content(\""+objid+"\")'/> "); 
+0

Ich habe das versucht. In diesem Fall wird das Objid nicht ausgewertet, stattdessen wird objid selbst als Wert verwendet. – NitZRobotKoder

+0

Was ist ** objid selbst **? Wird der "objid" -String zum Parameter oder ist "objid" etwas anderes als ein String ??? –

+0

Es war nur, dass ich die Zitate in einer falschen Weise entkam. Durch das Entkommen in der Art, wie es vorgeschlagen wurde, funktioniert .. Vielen Dank für die schnelle und zeitnahe Antwort – NitZRobotKoder

0

Denn wenn es es machen zeigt sich als

view_content(FOOBARSTRING) 

Sie Anführungszeichen müssen dort.

record.put("view","<img src='images/ic_text_document.png' onclick='view_content(\""+objid+"\")'/> "); 

Idealerweise würden Sie die onclick-Handler im HTML-Markup nicht direkt hinzufügen.

+0

Ich habe das versucht. In diesem Fall wird das Objid nicht ausgewertet, stattdessen wird objid selbst als Wert verwendet. – NitZRobotKoder

+0

Sie müssen mehr Code zeigen, da das, was Sie gesagt haben, Objid ist eine Zeichenfolge mit Bindestrichen, aber jetzt sagen Sie, dass es etwas anderes tut. – epascarello

+0

Es ist nur so, dass ich den Zitaten auf falsche Weise entkam. Durch das Entkommen in der vorgeschlagenen Weise funktioniert .. Vielen Dank für die schnelle und zeitnahe Antwort ... – NitZRobotKoder

1

Sie müssen die Objid vor der Generierung der HTML und Unescape, wenn Sie den Wert in der Javascript verwenden.

OR etwas tun ......

record.put("view","<img src='images/ic_text_document.png' onclick='view_content("+ COUNTER + ")'/><div style='display:none' id='objid"+ COUNTER + "'>" + objid + "</div> "); 

wo Zähler nur eine unterschiedliche Anzahl/Wert für jeden obj/objid ist. und in js:

function view_content(objidcounter){  
var real_objid = document.getElementById('objid' + objidcounter).innerText; 
... 
... 

} 
Verwandte Themen