2016-11-01 10 views
0

Das ist mein PHP/JS-Code:PHP JavaScript Echo wird nicht funktionieren

echo "<script> 
function transformCard() { 
document.getElementById('cardImage').src = " . $row['transformedimageurl'] . " 
document.getElementById('transformbtn').onClick = deformCard(); 
} 
function deformCard() { 
document.getElementById('cardImage').src = " . $row['imageurl'] . " 
document.getElementById('transformbtn').onClick = transformCard() 
} 
</script>"; 

Mein HTML:

<button id="transformbtn" onClick="transformCard()"></button> 
<img id='cardImage' src="image.jpg" /> 

Der Knopf klicken um die src meines Bildes nicht ändert.

Was ist falsch an meinem Code?

+1

öffnen Entwickler-Konsole. Was siehst du dort? Unerwartetes Token? –

+0

nichts außer ich klicke auf den Button dann heißt es >> Maximale Call Stack Größe überschritten – AMG

Antwort

0

Setzen Sie die src in Anführungszeichen:

echo "<script> 
    function transformCard() { 
    document.getElementById('cardImage').src = '" . $row['transformedimageurl'] . "'; 
    document.getElementById('transformbtn').onClick = deformCard(); 
} 
function deformCard() { 
    document.getElementById('cardImage').src = '" . $row['imageurl'] . "'; 
    document.getElementById('transformbtn').onClick = transformCard() 
} 
</script>"; 

Sie wollen wahrscheinlich auch die () auf dem onClick Handler entfernen:

document.getElementById('transformbtn').onClick = deformCard; 
document.getElementById('transformbtn').onClick = transformCard; 
+0

Es wird immer noch gesagt Maximale Call Stack Größe überschritten – AMG

+0

jetzt in der Konsole gibt es keine Fehler aber eine '' – AMG

+0

@AMG Wahrscheinlich eine Endlosschleife (die Funktionen rufen sich gegenseitig an). Öffnen Sie die Entwicklertools, wechseln Sie zur Registerkarte "Quelle" und fügen Sie in der ersten Zeile jeder Funktion Haltepunkte hinzu. Dann klicken Sie auf den Play-Button, um zu sehen, wie der Flow passiert. –