javascript - 复杂的 sinatra 参数

标签 javascript jquery forms sinatra erb

Javascript 模板

  <script type="text/x-jsrender" id="questionTmpl">
    <li class="question">
      <input type="text" name="survey[question]" />
      <button class="add_answer">Add Answer</button>
      <ul></ul>
    </li>
  </script>

  <script type="text/x-jsrender" id="answerTmpl">
    <li class="answer">
      <input type="text" name="survey[answer]" />
    </li>
  </script>

Jquery

 $(document).ready(function () {

  $("#add_question").click(function(e) {
    e.preventDefault();
    $("#questionForm ol").append($.templates("#questionTmpl").render())
  });


  $("#questionForm").on('click', '.add_answer', function(e) {
    e.preventDefault();
    console.log()
    $(this).parent().find("ul").append($.templates("#answerTmpl").render())
  });
});

erb

<div class="container">
  <br>

  <form action="/surveys" method="post" id="questionForm">
    <input type="text" name="title" placeholder="survey name">
    <button id="add_question"> Add a question </button>
    <ol></ol>
    <input type="submit" value="create" id="submit_form">
  </form>

</div>

我正在 sinatra 中制作调查应用程序。我目前的设置方式是使用 jsrender,渲染模板来添加问题和添加答案。我的问题是关于 javascript 模板中输入文本字段的名称。基本上我想知道是否有一种方法来设置参数名称,以便 sinatra 将它们全部收集为散列,使用 Survey[question] 作为键,并使用 Survey[answer] 参数的数组作为数组所述键的值。

最佳答案

如果您发布表单,Sinatra 会自动从变量 params 中获取帖子中的所有值。

尝试一下,您应该会看到发生了什么:

get '/surveys' do
  puts params.inspect
end

关于javascript - 复杂的 sinatra 参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27197950/

相关文章:

javascript - 如何获取已使用此功能排序的 div 的 HTML?

Javascript 不适用于彩色游戏

javascript - 我的链接未触发点击事件,如何修复?

javascript - jquery validate SubmitHandler 在提交按钮后未触发

php - 通过ajax在html/php中搜索表单

forms - Symfony DataMapper 不更新对象

php - Javascript-每30秒播放一次音频剪辑

javascript - 全局作用域函数如何确定变量不再存在?

javascript - 点击函数 Jquery 计时

php - Laravel 4 表单模型绑定(bind)与动态表单未正确填写