php,jQuery,Lightbox,Ajax GET和POST问题

时间:2011-05-13 10:10:10

标签: php jquery post get lightbox

我在灯箱(fancybox)中有一个表单。 我正在尝试做一个ajax来运行对数据库的更新。 但我不知道为什么它不起作用。 下面的代码是灯箱中的内容:

<div id="timezonelightbox">

<div class="lightboxtitle">Select Time Zone</div>

<form method="get" action="" >

<select name="timezones" id="timezones" class="selecttimezones">

<option value="Africa/Abidjan   ">Africa/Abidjan    </option>

<option value="Africa/Accra     ">Africa/Accra  </option>

<option value="Africa/Addis_Ababa   ">Africa/Addis_Ababa    </option>

<option value="Africa/Algiers   ">Africa/Algiers    </option>

<option value="Africa/Asmara">Africa/Asmara</option>

</select>

<input type="button" id="confirmtimezone" class="confirmtimezone" value="Confirm now" 
onclick="updateTimeZone(); $.fancybox.close();">
</form>

</div>

<script type="text/javascript"> 

        function updateTimeZone(){

                $.getScript('<?echo $site["url"];?>/updateTimeZone.php?timezones=<?echo $_GET["timezones"]?>');

}

        </script>

这就是我在被调用文件中所拥有的:

header("content-type:text/js");

if(isset($_GET['timezones'])){

$queryupdatetimezone="UPDATE `Profiles` SET `TimeZone` ='".$_GET['timezones']."' WHERE 
ID=".(int)$_COOKIE['memberID'];

$resultupdatetimezone=mysql_query($queryupdatetimezone) or die("Errore update default timezones: ".mysql_error());

    exit;

}else{

?>alert ('An error occured');<?

}
?>

点击确认按钮后,一切似乎都很好。没有错误。但是当我查看数据库时,它会保存一个空字符串。 $ _GET ['timezones']为空。怎么可能?我做错了什么?

1 个答案:

答案 0 :(得分:0)

这是一个emtry字符串,因为你发送的是一个空字符串。看看你发布的这一行:

$.getScript('/updateTimeZone.php?timezones=');

你可能忘了把你想要的时区放在那里:

$.getScript('/updateTimeZone.php?timezones=THE_TIMEZONE');

THE_TIMEZONE替换为您要设置的时区...