【问题标题】:Update database without using submit button不使用提交按钮更新数据库
【发布时间】:2013-02-18 21:22:10
【问题描述】:

我想在不提交表单的情况下发布输入值。 我有这个链接,其中声明了 onClick() 函数。

 <a href="javascript:void(0);" id = "graph" onClick="validation('graph','D');" >Link</a>

我在我的项目中受到限制,以避免我们使用 FORM SUBMIT 技术。我必须选择其他方式来发布值并更新数据库。 用什么来代替Form Post??

【问题讨论】:

  • 您要查找的关键字是 Ajax。谷歌有很多关于这个主题的资源。 (顺便说一句,在没有表单的情况下这样做是一个糟糕的主意,因为它会阻止您创建 JS unobtrusiveprogressive,并且不允许您使用浏览器中 JS 可用的特定表单的 DOM API。 )。
  • input 值在哪里?你有表格吗?请发布整个代码,因为您需要 AJAX 或只需要简单的 JavaScript。另外-尽管与您的问题无关,请避免使用onClick,而是改写onclick(所有字符均小写)。
  • high_charts SET WCI= $H56 "; $res = mysql_query($sql);
  • 其实我的整个项目都在一个php页面上,我不能使用任何表单动作来跳转页面到任何其他php页面

标签: php database forms button


【解决方案1】:

您需要使用 AJAX 来执行此操作。即使您可以在文本字段自动停用时将onblur() 函数用于文本字段,也会调用JavaScript 函数,您可以在其中放置代码以更新数据库。

$.ajax({
type: 'POST',
url: 'http://xyz.com/updatedb.php',
data: { 
    'foo': 'bar'
}
});

此代码将从您的表单发送数据。

在 updatedb.php 文件中使用以下代码:

<?php
 $in = $_POST['foo'];
 $con = //connection string;
 $query = "insert into tablename values('$in')";
 $result = mysqli_query($con, $query)
   or die('Something is wrong in query chek it');
 ?>

【讨论】:

  • 你有所有做这个 AJAX > JSON 的任何样本吗?请附上任何样本
【解决方案2】:

如果您严格地谈论表单,并且如果您可以使用 javascript 框架,例如 jQuery,那么它将立即为您提供您正在寻找的所有 AJAX 功能:

http://api.jquery.com

你可以检查这个问题: jQuery AJAX submit form

这为您提供了一种方法。您还可以改进您的代码,使其更易于访问和减少阻碍(这使得它更容易支持,因为 javascript 将与您的 html 代码分离)。

 <button id = "graph" >my action</a>

在你的脑海中,在一个脚本元素中:

$(document).ready(function() {
    // the functions below are executes once the document is loaded
    $("#graph").click(function(){
        validation('graph','D');
    });

});

如果您不严格谈论表单,您可以通过定义 uri 和处理程序来做到这一点: http://www.domain.com/?r=my-action/arg1/arg2/arg3...

您会在模型视图控制器框架中找到一些通用技术(我不知道您正在使用哪种服务器语言)。

注意:除了jQuery,还有其他框架,但我习惯了 http://en.wikipedia.org/wiki/Comparison_of_JavaScript_frameworks

【讨论】:

    猜你喜欢
    • 2015-06-27
    • 2015-12-22
    • 2021-03-21
    • 1970-01-01
    • 2012-12-09
    • 2014-07-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多