这是我的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”。该表包含:name(字符串),box(boolean)。
我试着做下一件事:
当用户选中don't show me again
的框时,我想更新表格的框(假设id为6的行)。
P.S。表格的方框为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)
任何帮助表示赞赏!
答案 0 :(得分:1)
$("#submit").click(function() {
if($("#mycheckbox").is(':checked')) {
$.ajax({
url: 'post.php',
cache: false,
success: function() {
alert("done");
}
});
}
});
您可以使用$.ajax
更新数据库中的表格。只需创建post.php
文件并在其中设置一个更新表的查询。
此外,PHP使用mysqli连接到最新版本的数据库。不推荐使用mysql_
个函数。
答案 1 :(得分:1)
不幸的是,你需要像php这样的某种服务器脚本来与mySQL通信:(
Query mySQL natively from JQuery without the need for PHP etc
答案 2 :(得分:1)
您可以在服务器上使用您喜欢的任何语言(even JavaScript),但是您需要服务器端代码来处理HTTP请求(您可以使用XMLHttpRequest从JavaScript进行处理)并与之交互数据库中。
(注意:&#34;您喜欢的任何语言和#34;受到安装的内容或您可以在服务器上安装的内容(或您移动到的服务器)的限制。)
答案 3 :(得分: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
这是它的要点。如果你无法使它工作,你可能需要从更基本的教程开始。祝你好运!