0

这是我的 html 表单:

<form name="input" action="html_form_action.asp" method="get">
   <input type="checkbox" id="mycheckbox">Don't show me again<br>
   <input type="submit" id="Submit">
</form> 

我有一个表,叫做:“mytable”。此表包含:名称(字符串)、框(布尔值)。

我尝试做下一件事:当用户选中 的框时don't show me again,我想更新表格的框(假设 id=6 的行)。

ps 表格的框初始化为 False。

所以我必须做类似的事情:

$("#submit").click(function() {
    if($("#mycheckbox").is(':checked')) {
        //here I have to update the table in the database
    }
});

我怎样才能做到这一点?

我找到了 php 的例子,但我不想用 php 来做。

更新:

根据你的回答,我想用 Ruby-on-rails 来做。

我找到了这个:

update_sql = "update mytable set box = TRUE where id = 6"
affected_rows = Job.connection.update(update_sql)

任何帮助表示赞赏!

4

4 回答 4

1

您需要创建一个接受 ajax 请求但首先将 js 更新为此的控制器。

# js
$("#submit").click(function() {
  $.ajax({
    url: '/my_tables/' + <id of resource to update>,
    type: 'PUT',
    data: { my_table: { box: $("#mycheckbox").is(':checked') } }
  });
});

创建一个名为MyTablesController

# my_tables_controller.rb
class MyTablesController < ActionController::Base
  def update
    @my_table = MyTable.find params[:id]
    @my_table.update_attributes params[:my_table]
    # do something else here like a redirect ...
  end
end

这就是它的要点。如果你不能让它工作,你可能需要从更基础的教程开始。祝你好运!

于 2013-02-04T09:59:53.003 回答
1

不幸的是,您需要某种服务器脚本(如 php)与 mySQL 进行通信 :(

从 JQuery 本地查询 mySQL,无需 PHP 等

于 2013-02-04T09:41:59.173 回答
1
$("#submit").click(function() {
    if($("#mycheckbox").is(':checked')) {
        $.ajax({
             url: 'post.php',
             cache: false,
             success: function() {
                  alert("done");
             }
        });
    }
});

您可以使用$.ajax更新数据库中的表。只需创建post.php文件并在其中设置一个更新表的查询。

此外,PHP 使用 mysqli 连接到最新版本的数据库。mysql_功能已弃用。

于 2013-02-04T09:40:32.833 回答
1

您可以在服务器上使用您喜欢的任何语言(甚至是 JavaScript),但您需要服务器端代码来处理 HTTP 请求(您可以使用XMLHttpRequest从 JavaScript 发出)并与数据库交互。

(注意:“您喜欢的任何语言”受安装的内容或您可以在服务器(或您移动到的服务器)上安装的内容的限制。)

于 2013-02-04T09:44:50.603 回答