5

OK, not really sure if this is possible but thought I'd ask anyway :)

I have a HTML page which contains some information and a link. The link calls a JavaScript confirm dialog box. If the user selects OK then I want to call a function in a PHP file, but in the background, i.e I don't want to change page, reload or anything.

Is this possible?

Thanks

T

2 Answers 2

6

Use AJAX. The following uses jQuery:

if(confirm('Are you sure?')) {
    $.ajax({
        url: '/path/to/file.php',
        data: 'url=encoded&query=string', // Can also be an object
        success: function(output) {
            // This function is called after the PHP file completes.
            // The variable passed in is a string containing all output of
            // your PHP script (i.e. echo / print )
        }
    });
}

For more information, check out jQuery's documentation for AJAX. If you cannot use jQuery, there are many tutorials on using native JavaScript to make AJAX Requests.

If you are returning a large amount of data back to your success function from PHP, it would be worthwhile for you to return the data from PHP as a JSON encoded array, which can be safely parsed client-side into a JavaScript object.

Sign up to request clarification or add additional context in comments.

Comments

3
$('.LinkClass').click(function(){

  if( confirm('Is it OK?') ) {

    $.ajax({
        url: 'action.php',
        type: 'POST',
        data: 'data=value', // Can also be an object
        success: function(data) {
            // Do Nothing
        },
        error: function(){
           alert('Error');
        }
    });

  }

});

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.