2011-07-21 65 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