Set Value of Input Using Javascript Function

I'm currently using a YUI gadget. I also do have a Javascript function to validate the output that comes from the div that YUI draws for me:

Event.on("addGadgetUrl", "click", function(){ var url = Dom.get("gadget_url").value; /* line x ------>*/ if (url == "") { error.innerHTML = "<p> error" /></p>"; } else { /* line y ---> */ /* I need to add some code in here to set the value of "gadget_url" by "" */ } }, null, true); 

Here is my div:

<div> <p>URL</p> <input type="text" name="gadget_url"/> <input type="button" value="add gadget"/> <br> <span></span> </div> 

As you can see my question is, how can I set the value of gadget_url to be ""?

1

7 Answers

Try... for YUI

Dom.get("gadget_url").set("value",""); 

with normal Javascript

document.getElementById('gadget_url').value = ''; 

with JQuery

$("#gadget_url").val(""); 
1
document.getElementById('gadget_url').value = ''; 
1

The following works in MVC5:

document.getElementById('theID').value = 'new value'; 
2

Depending on the usecase it makes a difference whether you use javascript (element.value = x) or jQuery $(element).val(x);

When x is undefined jQuery results in an empty String whereas javascript results in "undefined" as a String.

document.getElementById('gadget_url').value = 'your value'; 

I'm not using YUI, but my issue was that I had duplicate ID's on the page (was working inside a dialog and forgot about the page underneath).

Changing the ID so it was unique allowed me to use the methods listed in Sangeet's answer.

1

Shortest

gadget_url.value='' 
addGadgetUrl.addEventListener('click', () => { gadget_url.value = ''; });
<div> <p>URL</p> <input type="text" name="gadget_url" value="some value" /> <input type="button" value="add gadget" /> <br> <span></span> </div>

This is the shortest working solution (JSFiddle).

You Might Also Like