2015-04-21 24 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

因为它的名称已经从服务器 –