我有一个输入区域和一个这样的按钮:
<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;
,但不确定是否有效
任何想法? 感谢
答案 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);
...
}