繁体   English   中英

使用ajax并在相同的URL上更新数据库?

[英]Using ajax and updating the database on the same url?

我有一个带有选择标记的表单,其中包含1-31的数字。 我想做的是如果用户更改了select标签中的值(默认值是数据库中的值,即$drop_d )来更新数据库,而$drop_d 没有重新加载页面。 以下代码似乎无效,我认为我将数据发送到ajax的方式存在问题。

此变量包含默认值:

  $drop_d =  $e_r[drop_d];  

表格:

<form> Number of days:  <select name="dropD" id="dropID"> <?php for($i=1; $i<=31; $i++){  ?> <option value="<?php echo $i;?>" <?php if($i==$drop_d){ ?> selected="selected" <?php } ?> > <?php echo $i;  } ?> </select> </form> <br />

阿贾克斯:

<script>
$('#dropID').change(function(){
   alert(1);
    var url = document.URL;
    var blah = $('#dropID').val()
    alert(blah);
    alert(url);
    $.ajax({
        type: 'POST',
        url: url,
        data: {newFieldValue: blah},
        dataType: 'html'
    }).done( function(){
            alert(1);
            blah.hide();
        });
});
</script>

数据库更新:

<?php
        $newFieldValue = $_POST['newFieldValue'];
        $updateD = 'UPDATE en SET drop_d = $newFieldValue WHERE name=$name;
        mysql_query($updateD);

             ?>
$('select#dropID').on('change' , function(){
    var url = document.URL;
    var blah =  $('select#dropID').val();
    $.ajax({
        type: 'POST',
        url: url,
        data: {newFieldValue:blah},
        dataType: 'html'
    });
});

您已经定义了id值id="dropID ,因此您的jQuery应该是:

$('#dropID').val()

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM