如何从其他页面更改按钮的状态?

时间:2015-03-30 12:49:52

标签: javascript php jquery html

我正在开发一个有严格规格的网站。我很想知道我想要达到的目标是否可行,如果是,那怎么样。

我有一个显示产品列表的页面,旁边有一个名为Reserve的按钮。我从MySQL数据库中获取信息。代码是这样的(它不是实际的代码):

while($obj = $results->fetch_object()) {
    echo '<div class="product">'; 
    echo '<iframe name="votar" style="display:none;"></iframe>';
    echo '<form method="post" action="reserve.php" target="votar">';
    echo $obj->description.' <button class="reserve" >Reserve</button>';
    echo '<input type="hidden" name="barcode" value="'.$obj->bar_code.'"/>';
    echo '</form>';
    echo '</div>';
}

注意那里的iframe。我使用此功能是因为单击按钮Reserve时,页面应该刷新。

reserve.php页面包含以下内容:

if (isset($_POST["barcode"])) {
    $barcode = filter_var($_POST["barcode"], FILTER_SANITIZE_STRING);

    $results = $mysqli->query("UPDATE devices 
                              SET status='reserved' 
                              WHERE bar_code=".$barcode);
}

现在,我的实际问题是:是否可以单击Reserve按钮,而不是刷新页面,但仍然将按钮更改为禁用状态?我认为禁用行动应该从reserve.php完成,因此问题标题。

如果没有,请告诉我。我想要实现的是,当用户向下滚动产品页面并单击Reserve时,我希望该按钮被禁用。我不介意刷新本身,但我的想法是,当刷新发生时,用户被发送回页面的开头,如果他想要保留另一个产品,则必须再次向下滚动。

1 个答案:

答案 0 :(得分:0)

尝试ajax ...这是在不刷新页面的情况下更新db中的值的可能解决方案

<input type='button' name='reserve' onclick='return doReserve(your_primary_key)' value='reserve' />

现在考虑下面的javascript函数来激活ajax调用

function doReserve(id)
    var data= {id: id};
            $.ajax({
                url: "ajax_reserve.php",
                data: data,
                type: "GET",
                success: function(html) {
                     if(html=='ok')
                    {
                         $('#reserve').prop('disabled', true);
                    }
                    else
                    {
                      alert('There was some error')
                    }
                }
            });
         }

现在创建一个php文件ajax_reserve.php

并将数据库更新代码放在该文件中

$update= 'your update check variable i.e true or false';
if($update)
{
    echo 'ok';
}
else
{
    echo 'error';
}

如果需要进一步的帮助,请告诉我