CryptoNight77
CryptoNight77

Reputation: 407

fill and submit form using javascript from console

Here is my form:

 <form id="myForm">
        <input id="htmlString" type="text" name="htmlField" ><br>
        <input type="Submit" value="Submit" >
      </form> 

And need to fill it from console. just to use it in my app, Will inject javascript with data to local html file.

I tried to make the form without a submit button like so:

<body>

    <form id="myForm">
        <input id="htmlString" type="text" name="htmlField" ><br>
    </form> 

    <script>
        htmlString.oninput = function(){
         ///do some stuff 
        }

</script>

</body>

Expecting that :

document.getElementById('htmlString').value="moo" ;

It automatically submit the form, because here oninput used. But it just stayed filled with inputs and not proceed further.

Tried with other solution:

form = document.getElementById("myForm")
form.submit()

But it just refreshed the page and not submitted the form.

The need is just one filed without else, and inject my string to it with javascript to run functions embedded in the html.

Upvotes: 3

Views: 2519

Answers (2)

Jose Vasquez
Jose Vasquez

Reputation: 1728

Try making the input button hidden.

<body>

    <form id="myForm">
        <input id="htmlString" type="text" name="htmlField" ><br>
        <input type="Submit" value="Submit" style="display: none" >
    </form>
    <button onclick="simulateConsole()">Try it</button>

    <script>
        htmlString.oninput = function(){
          if(this.value === "moo") {
             myForm.submit();
          }
        }

        // This event will be triggered even if you use console
        htmlString.onsubmit = function(){
          if(this.value === "moo") {
           // do something onSubmit
          }
        }

        function simulateConsole() {
          // you can simulate this in console
          htmlString.value = "moo";
          myForm.submit();
        }

    </script>

</body>

I hope it helps.

Upvotes: 2

Jeppe Hasseriis
Jeppe Hasseriis

Reputation: 310

You need to supply an action to the form, otherwise it will just reload the page.

See more here: https://developer.mozilla.org/en-US/docs/Web/HTML/Element/form

Upvotes: 0

Related Questions