开发者

javascript passing text input to a onclick handler

开发者 https://www.devze.com 2023-04-05 04:41 出处:网络
Lets say I have a form as below. How do I pass the value in the 开发者_C百科textbox named \"configname\" to the onclick function handler??

Lets say I have a form as below. How do I pass the value in the 开发者_C百科textbox named "configname" to the onclick function handler??

<form id="loadconfigform">
        Config Name: <input type="text" name="configname" />
        <input type="button" value="Submit" onclick="onLoadConfigPress(configname)" />
    </form>


Give an id to input field:

<input type="text" id="configname" name="configname" />

Now modify click handler as follows:

<input type="button" value="Submit" 
  onclick="onLoadConfigPress(document.getElementById('configname').value)" />

Or if you have only one form on that page, you could also use forms array:

<input type="button" value="Submit" 
  onclick="onLoadConfigPress(document.forms[0].configname.value)" />


<form id="loadconfigform">
   Config Name: <input type="text" id="configname" name="configname" />
   <input type="button" value="Submit"
     onclick="onLoadConfigPress(document.getElementById('configname').value);" />
</form>


<form id="loadconfigform">
        Config Name: <input type="text" name="configname" />
        <input type="button" value="Submit" onclick="onLoadConfigPress(document.getElementsByName('configname')[0].value)" />
    </form>

Simply call it using its name. I'd recommend using ID though.

This won't work if you have other elements with the same name, so do use ID like the other answers have suggested.


This is an old, old question - but somehow I ended up here.

So, the magic word 'this' is your friend here. 'this' is the element that is clicked on, which will include the value of the element. So

<form id="loadconfigform">
    Config Name: <input type="text" name="configname" />
    <input type="button" value="Submit" onclick="onLoadConfigPress(this)" />
</form>

function onLoadConfigPress(el){

    var configName = el.value;
    // do other things
    // . . .
}

Side note: if you want to pass the original event along with 'this', include it as the first parameter as the magic word 'event'.

onclick="onLoadConfigPress(event,this)
0

精彩评论

暂无评论...
验证码 换一张
取 消