2012-01-02 47 views
1

我有一个ID='texta'的小文本区,这个表单有一个提交按钮。textarea隐藏提交按钮,直到点击?

如何隐藏提交按钮,直到用户在使用javascript或jquery的textarea内单击?

+0

究竟你有问题?最初隐藏按钮?将'click'事件处理程序附加到textarea?选择正确的元素?显示按钮?请发布迄今为止的代码。 – 2012-01-02 12:33:20

回答

2

通过CSS

隐藏它
<input type="submit" value="Submit" style="display:none"/> 

$("textarea").click(function(){ 
$(":submit").show(); 
}); 

http://jsfiddle.net/vb8kr/4/

+1

我推荐使用'.blur()'而不是'.click()',因为通常我在表单中使用tab键。 – sascha 2012-01-02 12:34:56

+0

':textarea'不是一个有效的伪选择符,你的意思是'textarea'吗?无论哪种方式,它都可以找到所有textareas,而不仅仅是请求的,所以它既是要求的又是效率更低的形式。 ':submit'选择器可以工作,但会显示所有提交按钮,这可能不是所需的结果。 – 2012-01-02 12:36:51

+0

@DavidHedlund在发布答案的几秒钟后它被纠正了,也是给OP一个想法,而没有看完整个怎么能告诉页面/表格 – Rafay 2012-01-02 12:37:43

1

最初设置提交按钮使用CSS没有的显示。

<input type="button" style="display:none;" value="submit" id="submitbtn" /> 
在textarea的聚焦状态

然后将其设置可见像,

$( '#txtarea')。在( '专注',函数(){ $( '#submitbtn')。秀( ); });

注:txtareasubmitbtn是textarea的ID和提交按钮。

2

默认CSS display设置为none为输入:

input[type="submit"] { 
    display : none; 
} 

然后:

$('#texta').on('focus', function() { 
    $('input[type="submit"]').show(); 

    //if you want to only get the submit button for this form: 
    //$(this).parents('form').find('input[type="submit"]').show(); 
}); 

这里是一个演示:http://jsfiddle.net/8DnRE/

.on()在jQuery的1.7是新的,所以如果您使用的是旧版本的地方.on().bind()http://api.jquery.com/on

0

看看这个例子。我希望我能理解你

http://jsfiddle.net/47Fcy/

HTML:

<textarea id="myTxt" name="myTxt"></textarea> 
<input type="submit" id="btn" /> 

的jQuery:

$(document).ready(function(){ 
    $('#btn').css('display','none'); 
    $('#myTxt').focus(function() { 
     $('#btn').fadeIn(); 
    }); 
});