-1

In my website I am working on making a page that will display an image, and has a form with a text input field. I want to know if there is a way to automatically submit said form when the user types in the correct answer in the text input field?

Giorgio
  • 1,973
  • 4
  • 36
  • 51
  • 1
    You can definitely do that with JavaScript without effort. Your form will have a `submit()` method. – sjahan Nov 21 '17 at 13:17
  • 1
    _I want to know if there is a way[...]_ Yes, there is. But this is definitely unrelated to mysql, java, and in most cases php (as the submit itself is done on the client side) – Clijsters Nov 21 '17 at 13:18
  • have a look at this https://stackoverflow.com/questions/6065101/pass-value-from-html-form-to-php-without-submitting-the-form – Sean Konig Nov 21 '17 at 13:22

1 Answers1

0

You can achieve this by using JavaScript and PHP json_encode as follows:

document.addEventListener("DOMContentLoaded", function() {
    var inputField = document.getElementById("yourInputField");
    inputField.addEventListener("input", submitFormIfCorrect);
});


function submitFormIfCorrect(event) {
    var element = event.target;
    var correctAnswer = <?php echo json_encode($answer) ?>;

    if (element.value === correctAnswer) {
        // submit form
    }
}
Sync
  • 3,571
  • 23
  • 30
  • I should have been more clear, my website is programmed in php. The answer that the user needs to imput is pulled from a mysql query and then turned into a php variable.. is there a way to automatically submit the form when that php variable is typed into the text input box? – Joshua Miller Nov 21 '17 at 20:39
  • Updated answer. – Sync Nov 21 '17 at 22:45
  • Thank you, it is working, but it's not auto submitting I have to click out of the input field to submit. – Joshua Miller Nov 21 '17 at 23:25
  • My bad. I updated my answer. It should behave like you want with `inputField.addEventListener("input", submitFormIfCorrect);`. – Sync Nov 21 '17 at 23:29
  • Works absolutely flawless, thank you so much. I could not wrap my brain around how to make this function! – Joshua Miller Nov 21 '17 at 23:58
  • No problem. :) Please accept my answer to indicate the question is solved. – Sync Nov 22 '17 at 00:03
  • Absolutely, there are a lot of critics and people who would rather nitpick than help, but you have been nothing but superb in helping. Thanks again. – Joshua Miller Nov 22 '17 at 01:26