2015-04-21 26 views
1

我想要建立一個小書籤來自動填充文本文本屬性name="param[random-number][details]" textarea。小書籤自動填充隨機元素名稱textarea

enter image description here

random-number是在服務器上生成的,並且每個時間是不同的。頁面HTML看起來像:

<table> 
<tbody> 
<tr> 
<td>Video Title:</td>             
<td>        
<input type="text" name="param[30301754][title]" value="VIDEO TITLE" autocomplete="on"> 
</td> 
</tr> 

<tr> 
<td>File name:</td> 
<td> 
<input type="text" name="param[30301754][filename]" value="FILE NAME" autocomplete="on">.3gp 
</td> 
</tr> 
<tr> 
<td>Description: </td> 
<td><textarea name="param[30301754][description]"></textarea> 
</td> 
</tr> 
</tbody></table> 
+1

自動填充文本它來自哪裏? – Jack

+0

另外,你自己建立書籤嗎? –

+0

@jack like var text = {'我想插入到textarea上的文本'}, –

回答

1

假設有隻有一個像<textarea name="param[xxx][description]">頁面上的元素,你可以使用一個jQuery wildcards作爲一個選擇。

$("textarea[name$=\\[description\\]]").val("test"); 

更新

要做到這一點作爲一個簡單的書籤,你需要提醒他們要自動填充文本的用戶(或從別​​的地方得到它) ,並將所有內容包裝在一個匿名函數中。您還需要對jQuery庫的引用。 (關於如何創建書籤更多信息,請參見this article

這應該爲你的情況下做到這一點:

javascript: (function() { 
    if (!($ = window.jQuery)) { 
     script = document.createElement('script'); 
     script.src = 'http://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js'; 
     script.onload = doAutoFill; 
     document.body.appendChild(script); 
    } else { 
     doAutoFill(); 
    } 

    function doAutoFill() { 
     var textToFill = prompt("Enter text to fill:"); 
     if (textToFill != null) $("textarea[name$=\\[description\\]]").val(textToFill); 
    } 
})(); 

這裏有一個更新的小提琴爲例:jsfiddle

+0

你可以使它成爲bookmarklets嗎? –

+0

更新我的例子與工作bookmarklet。讓我知道它是否它做你在找什麼 –

+0

是的,它的工作!你真棒nate,謝謝所以很多:D 但它不能自動填充:( –

0

我沒有看到您的bookmarklets按鈕,所以我做了一些假設。 jsfiddle

var someText = "text for the textbox"; 
$('#myButtonId').on('click', function(){ 
    $('textarea').val(someText); 
}); 
+0

但它的名字上有一個隨機數(name =「param [random-number] [details]」) –

+0

爲什麼它需要是隨機的?如果頁面上只有一個文本框,你可以給它一個Id,名稱無關緊要 – Jack

+0

因爲它的名稱已經從服務器 –