У меня есть форма, в которой пользователь вводит некоторую информацию (текстовые поля, поле выбора). Внутри формы у меня есть link_to «Preview», где пользователи могут просматривать, что они сделали, не сохраняя его. Они могут просмотреть его в виде другого контроллера, который у меня уже есть. Любые советы о том, как это сделать, будут высоко оценены. Я пробовал с js и ajax, но это не сработало. Я думаю, что самая большая проблема заключается в том, как передать параметры формы в link_to. Я использую Ruby on Rails 3.2, jQuery, JavaScript. Благодарю.Кнопка предварительного просмотра формы в другом виде
Вот несколько кодов. Во втором контроллере, который проверяет, если это предварительный просмотр или нет после того, как пользователь нажимает Предварительный просмотр:
def index
if !params[:access_token].nil?
@p = "something"
@m.access_token = params[:access_token]
@m.title = params[:title]
@m.body = params[:body]
else
@p = "something else"
end
respond_to do |format|
format.html
format.js
end
end
Вид (первый, где форма и кнопка предварительного просмотра) в Haml + JS, index.html.haml:
= form_for [:controller, @m], action: action, html: { multipart: true, id: "some_id" }, method: :post, remote: true do |f|
- @access_token = generate_access_token
= hidden_field_tag :access_token, @access_token
.input-prepend
%span.add-on Title
= f.text_field :title, id: "title"
.input-prepend
%span.add-on Body
= f.text_area :body, id: "body"
= f.submit t("save"), class: "btn btn-primary"
= link_to "Preview", " ", id: "preview", target: "_blank", class: "btn"
:javascript
$("#preview").click(function(e) {
var title = $("#title").val();
var body = $("#body").val();
var access_token = $("#access_token").val();
$.get('/' + "?access_token=" + access_token + "&title=" + title + "&body=" + body);
});
Этот .get, вероятно, не имеет смысла, поскольку он должен открываться в новой вкладке и новом виде.
Пожалуйста, вы можете добавить код или изображения? –
Необходимо увидеть код, который вы уже пробовали, вам не нужен AJAX, вам не нужно обращаться к серверной стороне, так как только значения элементов DOM должны отображаться на странице, как есть, достаточно простого JS – rps
Некоторый код ... pleaze – grigno