【问题标题】:HTML form, Javascript, PHP, and DB connection with MySQLHTML 表单、Javascript、PHP 和与 MySQL 的 DB 连接
【发布时间】:2012-12-29 18:07:36
【问题描述】:

我有一个表格,填写后,我希望将数据插入数据库。截至目前,数据库有两列,“反馈”和“日期”。但是现在,只有“日期”被插入数据库,而不是“反馈”。

HTML 表单:

<form class="form-inline" action="JavaScript:sendFeedback()" method="get">
<textarea name="Feedback" placeholder="Feedback..." rows="5" cols="100"></textarea> 
<button type="submit" class="btn">Tell us</button>
</form>

Javascript:

function sendFeedback() {
    _gaq.push(['_trackPageview', 'OutgoingLink=SendFeedback' ]);
    $.get("../php/NewFeedback.php",{Feedback:$('input[name="Feedback"]').val()});
    var element = document.getElementById("FeedbackArea");
    element.innerHTML = "<div class=\"alert alert-success\"> <a class=\"close\" data-dismiss=\"alert\" href=\"#\">×</a>Thanks for your feedback!</div>";
    return false;
}

php:

$db = MySql::getInstance(DATABASE_HOST, DATABASE_USER, DATABASE_PASS, DATABASE_NAME);
$Feedback = mysql_real_escape_string($_GET['Feedback']);

//create the sql statement
$sql = "INSERT INTO Feedback VALUES('{$Feedback}', CURDATE());";

//execute the query
$res = $db->query($sql);

就像我说的那样,如果我在 textarea 中输入一些内容并按下“告诉我们”按钮,数据库将获得一个新条目,但“反馈”属性为空(并且填写了日期)。

这是为什么?

【问题讨论】:

  • 将选择器更改为$('textarea[name="Feedback"]').val()

标签: php javascript html mysql


【解决方案1】:

您没有名为“反馈”的输入,您有一个文本区域,因此 $('input[name="Feedback"]').val() 不会为您提供该字段的值。

【讨论】:

  • 您将选择器更改为匹配 textarea 元素而不是 input 元素
【解决方案2】:

更改您的代码:

$('textarea[name="Feedback"]').val()

它会起作用的。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-08-19
    • 2011-07-05
    • 2017-05-02
    • 1970-01-01
    • 1970-01-01
    • 2020-04-23
    • 1970-01-01
    相关资源
    最近更新 更多