javascript,如何从点击文本区域获取值?

时间:2011-07-21 19:13:36

标签: javascript forms

我有一个输入区域和一个这样的按钮:

<input type="text" name="text_name" id="txt_name" size="30" maxlength="70">
<input type=button id="btnPublishAction" onclick="publishFeed()" value="Yeah" style="margin: 5px 0;" />

和这样的函数:

    name = oForm.elements["text_name"].value;

    function publishFeed() {
var act = new gigya.services.socialize.UserAction();        
act.setUserMessage(name);
act.setLinkBack("http://www.xxx.com");      
act.setTitle("Check me out!");      
act.setDescription("This is my Profile"); 
act.addMediaItem( { 
    src: '<?php echo $photoDiv; ?>',
    href: 'http://www.exploretalent.com/<?php echo $_SESSION['talent_username'];?>',
    type: 'image'
});
var params = 
    {
        userAction:act, 
        scope: 'internal',
        privacy: 'public',
        callback:publishAction_callback
    };
gigya.services.socialize.publishUserAction(conf, params);
}

我想要做的是当我点击Yeah text_name中的值设置为act.setUserMessage(name); name = oForm.elements["text_name"].value;时。{/ p>

我发现了这种语法name = oForm.elements["text_name"].value;,但不确定是否有效

任何想法? 感谢

2 个答案:

答案 0 :(得分:1)

尝试使用name = document.getElementById("txt_name").value

答案 1 :(得分:0)

假设oForm是对您网页上表单的引用。假设您的textarea包含在该表单中。假设你的textarea的name属性为“text_name”,那么是的,那应该有效。只需将该行代码放入您的函数中作为第一行。

function publishFeed() {
    var name = oForm.elements["text_name"].value;
    var act = new gigya.services.socialize.UserAction();        
    act.setUserMessage(name);
    ...
}

如果name = ...位于函数上方,则name变量在文本更改时不会更新。您希望在函数中设置该变量的值,以便获取当前文本。

修改:如果您不想在网页上使用表单,请将您的textarea设为ID并通过该ID访问:

<textarea id="myTextArea"></textarea>

以下是更新JavaScript:

function publishFeed() {
    var name = document.getElementById("myTextArea").value;
    var act = new gigya.services.socialize.UserAction();        
    act.setUserMessage(name);
    ...
}