javascript - 使用ajax更新文本框中的值

标签 javascript php html ajax json

实际上我只是一个新手程序员,我为我的程序制作了自己的更新 javascript 函数,但遗憾的是代码没有更新..任何人都可以帮助我帮助我的代码工作吗?请。

我想做的是,如果我更改文本框中的值并单击更新,它将更新。

enter image description here

脚本代码:

<script type="text/javascript">
$(document).ready(function () {
       $('#updates').click(function (e) {

           e.preventDefault();
           var $id1 = $('#id1').val();
           var $id2 = $('#id2').val();
           var $name1 = $('#name1').val();
           var $name2 = $('#name2').val();
           var $optA1 = $('#optA1').val();
           var $optA2 = $('#optA2').val();
           var $optB1 = $('#optB1').val();
           var $optB2 = $('#optB2').val();
           var $other_qual1 = $('#other_qual1').val();
           var $other_qual2 = $('#other_qual2').val();
           var $interview1 = $('#interview1').val();
           var $interview2 = $('#interview2').val();
           var $total1 = $('#total1').val();
           var $total2 = $('#total2').val();

           $.ajax({
               type: "POST",
               url: "update.php",
               data: {
                   id1_text: $id1,
                   id2_text: $id2,
                   name1_text: $name1,
                   name2_text: $name2,
                   optA1_text: $optA1,
                   optA2_text: $optA2,
                   optB1_text: $optB1,
                   optB2_text: $optB2,
                   other_qual1_text: $other_qual1,
                   other_qual2_text: $other_qual2,
                   interview1_text: $interview1,
                   interview2_text: $interview2,
                   total1_text: $total1,
                   total2_text: $total2
               },
               cache: false,
               success: function (data) {
                   alert('data has been updated!');
               }
           });
       });
   });
</script>

update.php页面:

<?php

    mysql_connect("localhost", "root", "") or die("cant connect to database!");
    mysql_select_db("test") or die("cant find database!");
    $id1         = @$_POST['id1_text'];
    $id2         = @$_POST['id2_text'];
    $name1       = @$_POST['name1_text'];
    $name2       = @$_POST['name2_text'];
    $optA1       = @$_POST['optA1_text'];
    $optA2       = @$_POST['optA2_text'];
    $optB1       = @$_POST['optB1_text'];
    $optB2       = @$_POST['optB2_text'];
    $other_qual1 = @$_POST['other_qual1_text'];
    $other_qual2 = @$_POST['other_qual2_text'];
    $interview1  = @$_POST['interview1_text'];
    $interview2  = @$_POST['interview2_text'];
    $total1      = @$_POST['total1_text'];
    $total2      = @$_POST['total2_text'];

    $query1 = mysql_query("UPDATE score SET name=$name1, score1=$optA1, score2=$optB1, other_qual=$other_qual1, interview=$interview1, total=$total1 WHERE id=$id1");
    $resource1 = mysql_query($query1) or die(mysql_error());

    $query2 = mysql_query("UPDATE score SET name=$name2, score1=$optA2, score2=optB2, other_qual=$other_qual2, interview=$interview2, total=$total2 WHERE id=$id2");
    $resource2 = mysql_query($query2) or die(mysql_error());


?>

html:

<form>
    Search batchcode: <input id="query" name="search" type="text"><input id="send_search_form" type="button" value="Go" /><br>
Batch #: <label id="batchcode" class="empty_batchcode"></label>
    <table>
        <tr>
            <td>ID:<br>
            <input readonly id="id1" class="search_form_input" name="id1" type="text"><br>
            <input readonly id="id2" class="search_form_input" name="id2" type="text"><br></td>

            <td>Name:<br>
            <input id="name1" class="search_form_input" name="name1" type="text"><br>
            <input id="name2" class="search_form_input" name="name2" type="text"><br></td>

            <td>Score 1:<br>
            <input id="optA1" class="search_form_input" name="optA1" type="text"><br>
            <input id="optA2" class="search_form_input" name="optA2" type="text"><br></td>

            <td>Score 2:<br>
            <input id="optB1" class="search_form_input" name="optB1" type="text"><br>
            <input id="optB2" class="search_form_input" name="optB2" type="text"><br></td>

            <td>Other Qualification:<br>
            <input id="other_qual1" class="search_form_input" name="other_qual1" type="text"><br>
            <input id="other_qual2" class="search_form_input" name="other_qual2" type=
            "text"><br></td>

            <td>Interview:<br>
            <input id="interview1" class="search_form_input" name="interview1" type="text"><br>
            <input id="interview2" class="search_form_input" name="interview2" type="text"><br></td>

            <td>Total:<br>
            <input id="total1" class="search_form_input" name="total1" type="text"><br>
            <input id="total2" class="search_form_input" name="total2" type="text"><br></td>
        </tr>
    </table>
    <input type="button" value="update" id="updates" />
</form>

最佳答案

您在 SQL 查询中缺少名称两边的引号。

$query1 = mysql_query("UPDATE score SET name='$name1', score1=$optA1, score2=$optB1, other_qual=$other_qual1, interview=$interview1, total=$total1 WHERE id=$id1");

如果您使用 PDO 或 mysqli 会更好,这样您就可以使用参数化查询而不是字符串替换。您的代码面临 SQL 注入(inject)的严重危险。

关于javascript - 使用ajax更新文本框中的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21520132/

相关文章:

javascript - 拖放系统重叠掉落的 div 元素

javascript - 使用 javascript 创建元素,然后使用 css 对其进行动画处理

php - Laravel - 哈希器/重置密码问题

php - yii 邮件扩展名 : how to send multiple email addresses at once

html - 无法从我的本地计算机获取图片以显示在我的网站上

javascript - 如何将文件添加到 React-Redux 的状态中

javascript - angularjs 编写 ColdFusion 服务发送 json 数据和捕获的正确方法

php - 函数前的感叹号在 PHP 中的真正含义是什么

javascript - 在新选项卡中打开我的图像

javascript - 获得个人等级和值(value)