javascript - 用户可以输入正则表达式的输入表单

标签 javascript ruby-on-rails ajax input

我有一个 Rails 应用程序,我需要在其中创建一些输入表单,用户可以在其中输入正则表达式。该正则表达式需要传递给我的方法 check_site(url, regex) ,该方法将返回 true 或 false 取决于页面上找到的正则表达式。 我尝试创建一个“link_to”:

link_to 'Search', check(item.name, @pattern)

在这种情况下,方法“check”不是在按下按钮时调用,而是在页面加载时调用。 需要使用JS+AJAX吗?怎么做?

最佳答案

关于使用 Rails 表单设置 AJAX/JS 的速成类(class):

  1. 确保在您的页面中调用正确的 javascript <head> :JQuery + application.js(当然是Jquery兼容版本!)

  2. 将链接更改为:

    link_to 'Search', check_item_path(:name=>item.name, :id=>@pattern, :var=>var, etc.), :remote => true
    
  3. 在 items_controller 中:

    def check  
      ...your regex...  
      respond_to do |format|  
        format.html { redirect_to ...(wherever you'd like if no .js) }  
        format.js  
      end  
    end
    
  4. 创建一个名为 check.js.erb 的文件在相应的 View 文件夹中,输入您想要更新页面/确认表单成功提交/返回搜索结果等的 JavaScript。

    $(document).ready( function() {
      $("#result").html(" <%= @item.result == true ? "true" : "false" %> ");
    });
    

无方法错误:check_item_path

这意味着 Rails 无法识别到该 Controller 操作的路由。运行rake routes在控制台中查看是否有任何内容与项目 Controller check_item 操作相对应。如果没有,请添加:

match 'items/check_item'

到您的路线文件。然后再次运行 rake paths,你应该看到 check_item出现在某处 - 如果出现,您可以使用 check_item_path再次。

关于javascript - 用户可以输入正则表达式的输入表单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5930359/

相关文章:

javascript - 解析 301 重定向并存储 url 以供将来使用 javascript

javascript - 如何在 Cordova Visual Studio 中添加 JavaScript 库?

javascript - JSLint:如何将代码标记为错误

ruby-on-rails - 运行软件包安装无法尝试从rubygems.org/quick/Marshal远程获取

ruby-on-rails - Ruby on Rails 使用 rake 任务解析 JSON 文件

javascript - 当同一个ajax调用失败时如何重新初始化ajax调用?

javascript - 无法正确格式化 AJAX POST 请求

javascript - 从复合函数中的上一个函数访问 Arg(使用 Ramda.pipe)

ruby-on-rails - 如何创建条件路由

javascript - : "http://abcde.com/#!download|"?背后使用了什么样的技术