0

嗨,我是 javascript 和 ajax 的新手。我的问题是当我将滑块移动到任何值时,该值应该存储到数据库中,并且应该返回该值存储的响应。我已经搜索了许多以前在这里问过的问题,但仍然无法弄清楚。所以任何帮助都会很棒。

这是我的html代码

<head>
<script>
$(function() {
    $( "#slider-range-max" ).slider({
        range: "max",
        min: 1,
        max: 10,
        value: 2,
        slide: function( event, ui ) {
            $( "#amount" ).val( ui.value );
        }
    });
    $( "#amount" ).val( $( "#slider-range-max" ).slider( "value" ) );

    $.ajax({
        type:"POST",
        url:"myslider.php",
        data:"vote="+$( "#slider-range-max" ).slider( "value" ),
        success:function(response) {
            alert(voted);
        } 
    })
});

</script>
</head>

这是我的 myslider.php 与数据库的连接,

<?php
require 'connection.php';
$vote="";

if (isset($_POST['slider'])) {
    $vote=$_POST['slider'];     
    mysqli_query("INSERT INTO slider (value) VALUES ('$vote')");
}
?>
4

2 回答 2

2

您需要为滑块使用更改回调。然后您可以获取正确的值并通过 jQuery Ajax 发布它。

$( ".selector" ).slider({
   change: function( event, ui ) {
      //here you can post data to PHP
   }
});

Omikron43 是对的。您需要检查您在 php 中所期望的参数,因为它们与您发送的内容不匹配。

于 2013-08-15T15:38:12.410 回答
0

slide当您的滑块更改时,即在函数中,您必须发送发布请求。

另外我认为您将错误的数据发布到您的脚本中。我相信你正在发送这样的东西,vote=34但期待这样的东西:slider=34

于 2013-08-15T14:29:36.823 回答