我似乎无法制作我在神奇的 SO 上找到的旧 js 脚本。
<div class="form-actions">
<%= f.button :submit, class:"btn btn-success create-campaign" %>
</div>
这是我的提交按钮。但是有一个问题。
<div class="message-div" id="textField" contenteditable="true" maxlength="180"></div>
<%= f.input :message ,as: :text,as: :hidden ,input_html: { class: 'special', maxlength:'180' } %>
我使用 div 来获取我为它所做的输入,但我的表单从隐藏的文本区域获取输入。
所以我尝试获取 div 的内容,并在单击提交按钮时将其写入文本区域。
但是我写的js脚本没有执行。
$(document).on("click",".create-campaign",function(e){
console.log('asdasd');
var a = $('.message-div').html();
document.getElementById('.special').value = a;
});
这是代码。
当我将监听器类更改为另一个按钮时,它可以正常工作(至少我看到了控制台日志)但在按下提交按钮时却没有。
我该怎么办?
干杯。
最佳答案
您需要防止触发默认提交操作:
$(".create-campaign").click(function(e) {
e.preventDefault();
console.info('asdasd');
var a = $('.message-div').html();
alert(a); // just to check that your data is there
document.getElementById('.special').value = a;
$("#YOUR_FORM_ID").submit();
});
关于javascript - 在 ruby on rails 中提交 "submit"之前执行 js 代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25506563/