I am trying to pass a php variable into a java script window.location that returns a user to the current list view after deleting an item from the database. I can't seem to get the syntax correct.

Code:

function confirmation(a) {
var currString = "<? echo $currString ?>";
var answer = confirm("Are you sure you want to delete this item?")
if (answer){
    alert("The item has been deleted")
    window.location = "list.php?s='. $currString .'&=delete=true&id=" + a;
}
else{
    alert("The item has not been deleted")
}
share|improve this question

4 Answers

up vote 6 down vote accepted

Try this:

function confirmation(a) {
    var currString = "<?php echo $currString ?>";
    var answer = confirm("Are you sure you want to delete this item?");
    if (answer){
        alert("The item has been deleted")
        window.location = "list.php?s=" + currString + "&=delete=true&id=" + a;
    }
    else{
        alert("The item has not been deleted");
}
share|improve this answer
Yaw, the concatenation operator is mixed up. As well as misplacing quotes. – Rey Gonzales Jun 20 '12 at 15:20
It seems the code fails to open the alert window. My delete button does nothing. – pixelJockey Jun 20 '12 at 15:30
It seems to be working here: jsfiddle.net/sgEWz – Parth Thakkar Jun 20 '12 at 15:34
Sorry it does work. It was missing/needed an additional "}". I failed to copy that the first time. – pixelJockey Jun 20 '12 at 15:41
1  
it happens. :-) – Parth Thakkar Jun 20 '12 at 15:41
show 6 more comments

you are pasing php variable to JS variable var currString = "";

and in window.location you are passing again php variable which is wrong,

so do it like this

window.location = "list.php?s=" + currString + "&=delete=true&id=" + a;
share|improve this answer

The syntax issue was solved by other answers, but you need to take care of an additional issue: URI encoding your variable when you use it in the URL:

window.location = "list.php?s="
                + encodeURIComponent(currString)
                + "&=delete=true&id=" + a;

or else you will run into problems of your variable contains characters like &.

share|improve this answer
echo "<script>alert('System info has been Save')</script>";
echo "<script>window.location='customer_detail.php?
customer_id=".$customer_id."'</script>";
share|improve this answer
This has typos in the code, you are missing two ; in the echoed javascript – RobertMaysJr Aug 29 '12 at 7:51

Your Answer

 
or
required, but never shown
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.