做了一些谷歌搜索没有成功。我试图在另一个表单的文本字段中获取当前值的值,并将其传递给控制器。有关最佳方式的任何想法吗?
答案 0 :(得分:0)
听起来您正试图在一个HTML页面上从两种不同的表单中获取数据。如果我理解正确,后端就无法做到这一点。当浏览器提交表单时,它只提交该单个表单的字段。如果您想在两种不同的表单之间共享一个值,则需要使用JavaScript ...
有意义吗?
修改强>
关于您的评论,选项2对您有用,这非常简单:
$('#form-1').submit(function(){
$('#form-2 [name]:not([type="submit"])').appendTo(this);
});
答案 1 :(得分:0)
我没有太多细节,但无论表单如何,你都可以通过jQuery从文本字段中提取数据,然后对控制器进行AJAX调用:
所以在你的application.js中你可以这样做:
$.ajax("/controller/action", {
cache: false,
data: {
_method: "POST",
textfield-data-param: (textfield-data)
},
success: function (jqXHR, status) {
//Do something on a success
},
complete: function (jqXHR, status) {
//do something on complete
},
type: "POST"
});
在您的控制器中,您可以执行以下操作:
def action
@data = params[textfield-data-param]
respond_to do |format|
if @data.save
format.js { head :ok }
else
format.js { head :unprocessable_entity } # Maybe find a better status code to use.
end
end
end
很抱歉,这是一个非常广泛的答案,但希望它能带给你一个领先优势。