文本区域使用 jQuery 展开,当我单击提交按钮时不会提交表单
textarea expanded with jquery, not submitting the form when i click the submit button
我希望按钮在文本区域展开时提交表单。我该怎么做?
问题是,当我单击表单中的"发布"按钮时,当文本区域展开时,它不会提交表单,而是缩小,我需要在它较小时再次单击它以提交表单。
目前为了提交帖子,我需要在文本区域未展开时单击帖子按钮。
.HTML
<form method='POST' action='elsewhere.php'>
<textarea id="textarea" style="width:550px; height:25px;"></textarea>
<input class="btn" type='submit' value='Post'/>
</form>
jquery
目前,当我单击文本区域时,高度会扩展,当我单击其他地方时,它会缩小。 当我单击"发布"按钮时,当文本区域展开时,它不会提交帖子,而是将文本区域缩小回去。
$('#textarea').click(function(){
$(this).css('height','100px')
$(this).html('');
$(this).blur(function(){
$(this).css('height','25px')
});
})
如果您要提交表单并重定向到另一个页面,您所需要的只是让按钮长时间保持静止以注册点击,超时解决了这个问题:
$('#textarea').on({
focus: function() {
$(this).css('height','100px').html('');
},
blur: function() {
var self = this,
T = setTimeout(function() {$(self).css('height','25px') }, 200);
}
});
小提琴
如果将其与 Ajax 一起使用,而不是重定向,并且为了使文本区域不响应按钮的单击,您可以使用变量来跟踪单击的元素,并执行与上述相同的操作:
var elm;
$('.btn').on('click', function(e) {
elm = e.target;
e.preventDefault();
//do ajax stuff
});
$('#textarea').on({
focus: function() {
$(this).css('height','100px').html('');
},
blur: function() {
var self = this,
T = setTimeout(function() {
if ($(elm).attr('class') != 'btn') $(self).css('height','25px');
}, 200);
}
});
小提琴
我认为这是一些与 z 索引相关的问题。尝试
position: relative; z-index:1;
提交按钮。
如果已为
textarea
或其任何祖先设置了z-index
,请将该值递增 1 并将其设置为按钮。
按钮有可能在增加其高度时被文本区域重叠。
你也提到了这一点,
while the textarea is expanded it doesnt submit the post
.可能是因为按钮重叠。
更新:
我得到了它之后
问题是,当我单击表单中的"发布"按钮时,当文本区域展开时,它不会提交表单,而是缩小,我需要在它较小时再次单击它以提交表单。
$('#textarea').click(function(){
$(this).css('height','100px')
$(this).html('');
$(this).blur(function(){
if(this.value === ''){
$(this).css('height','25px')
}
});
});
前几天我遇到了类似的问题,发生的事情是文本区域上的blur
事件发生在浏览器考虑按钮上的click
事件之前。
因此,为了,我点击按钮,然后浏览器在文本区域上触发blur
事件,缩小它并移动按钮,然后浏览器考虑了点击,什么也不做,因为不再有一个按钮我点击。
不过,我没有直接解决问题,而是决定只有在文本区域不为空时才缩小文本区域(在blur
事件中添加一些this.value == this.defaultValue || this.value == ''
测试)。
- 带有验证和隐藏字段值的提交按钮
- 如何在 API 调用后和 if 语句中启用提交按钮
- 提交按钮,该按钮位于使用 Excel VBA 的 Javascript 中
- 如何使用提交按钮搜索表中的记录
- 在单击按钮前后禁用提交按钮
- 在表单完成并确认密码之前,请禁用提交按钮
- 如何使用Java脚本创建提交按钮's的拖放功能
- 如何在单击“提交”按钮时为“新建”窗口编写JavaScript,用“确定”和“取消”显示注册信息
- 提交按钮通过JQuery和JavaScript函数所做的更改不会持续
- 从输入时提交到jQuery,无需提交按钮,无需表单操作
- onclick提交按钮JSP
- 通过提交按钮传递值
- 如果ng单击附加到提交按钮,则表单未验证
- 如何在Razor MVC 5.2.3 Ajax中使用多个提交按钮
- 使用提交按钮隐藏未选中的单选按钮
- Ruby/JS如何在提交按钮后重新加载页面
- JavaScript表单提交没有't fire asp服务器端点击功能的提交按钮
- 使用javascript后,提交按钮不起作用
- 如何使用jQuery/Ajax响应特定的提交按钮
- 表单中的提交按钮在 PHP 打印中不起作用