2011-07-21 45 views
0

我有一个输入区域,像这样的按钮:javascript,如何从点击文本区域获取值?

<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); 
} 

什么,我试图做的是当我点击Yeahtext_name价值设置为act.setUserMessage(name);,其中name = oForm.elements["text_name"].value;

我发现这句法name = oForm.elements["text_name"].value;但如果工作

任何想法不知道? 谢谢

回答

0

假设oForm是对页面上的表单的引用。并假设您的textarea包含在该表单中。并假设你的textarea有一个名为“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); 
    ... 
} 
+0

不要我需要一个窗体传递一个get到该脚本?即时消息只是一个有点混淆 – Patrioticcow

+0

你没有提到你没有表格。给你的textarea一个id,并用'document.getElementById(“myTextAreaId”)'来访问它。我会更新我的答案。 – gilly3

1

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