获得“事件.已弃用returnValue.请使用标准的event.preventDefault()代替"
Getting "event.returnValue is deprecated. Please use the standard event.preventDefault() instead"
我有这个消息,当我使用ajax与谷歌浏览器
事件。已弃用returnValue。请使用标准的event.preventDefault()来代替
我安装了新的g.c orome和新的jquery库,但它没有给予效果。我的代码在Mozilla Firefox中运行良好。我有文件与jQuery代码edit.php和动作文件edit.php .
edit.php代码:
$('#submit').click(function(){
//if( this.value == "apl" )
var id = $("#inf_id").val();
var text = $("#text").val();
var title = $("#title").val();
$("#imgLoad").show(); // Показываем прелоадер
//setTimeout('$("#imgLoad").show()', 1000);
$.ajax({
url: "editting.php",
type: "POST",
data: {"inf_id": id,"title": title,"text":text},
cache: false,
success: function(response){
////////////////////////////
alert(response);
//////////////////////////////
if(response == 0){ // Смотрим ответ от сервера и выполняем соответствующее действие
//alert("Больше нет записей");
$("#imgLoad").hide();
$("#success_div").show();
$("#alert_div").hide();
$("#empty_infs_div").hide();
setTimeout('$("#success_div").hide();', 2000);
$("#empty_text").hide();
$("#empty_title").hide();
}else if(response == 1){
$("#imgLoad").hide();
$("#success_div").hide();
$("#alert_div").show();
$("#empty_infs_div").hide();
setTimeout('$("#alert_div").hide();', 2000);
$("#empty_text").hide();
$("#empty_title").hide();
} /*else if(response == 2){
$("#imgLoad").hide();
$("#success_div").hide();
$("#empty_infs_div").show();
$("#alert_div").hide();
setTimeout('$("#empty_infs_div").hide();', 2000);
}*/
else if(response == 2 || response == '2'){
$("#empty_text").hide();
$("#empty_title").show();
$("#imgLoad").hide();
$("#success_div").hide();
$("#empty_infs_div").hide();
$("#alert_div").hide();
setTimeout('$("#empty_title").hide();', 2000);
}
else if(response == 3){ //if(response == 4)
$("#empty_text").show();
$("#empty_title").hide();
$("#imgLoad").hide();
$("#success_div").hide();
$("#empty_infs_div").hide();
$("#alert_div").hide();
setTimeout('$("#empty_text").hide();', 2000);
}
}//success
});
});
和editting.php:
<?
include("site_blocks/bd.php");
if (isset($_REQUEST['inf_id'])) {$id = $_REQUEST['inf_id'];
if ($id == '') {unset($id);}}
if (isset($_REQUEST['title'])){$title = $_REQUEST['title'];
if ($title == '') {unset($title);}}
if (isset($_REQUEST['text'])) {$text = $_REQUEST['text'];
if ($text == '' || $text == '<br>' ) {unset($text);}}
if (isset($title) && isset($text))
{
mysql_query('SET NAMES utf8');ob_clean();
$update_infs = mysql_query ("UPDATE data SET title='$title',text='$text' WHERE id='$id'");
if($update_infs==1) {sleep(1); echo 0;}
else {sleep(1); echo 1; }
}
else
{sleep(1);
if (!isset($title)) {echo 2;}
else if(!isset($text)) {echo 3;}
}
?>
Alert is works,显示结果0,1,2,3。但浏览器Chrome并没有对这些数字做出反应。Mozilla的反应和我预期的一样。
事件。已弃用returnValue。请使用标准的event.preventDefault()
只是一个警告(见这里),它应该工作在chrome和firefox!如果它不工作在chrome你应该检查你的代码:例如:
setTimeout('$("#success_div").hide();', 2000);
改为
setTimeout($("#success_div").hide(), 2000);
setTimeout()的第一个参数应该是一个函数,而不是字符串
[edit]更正了剩余的分号
我用jslint检查了你的js代码,有两个主要错误,上面的setTimeout"隐含的eval是邪恶的"。传递一个函数而不是字符串"和一个条件错误
Expected '===' and instead saw '=='.
line 32 character 33: } else if (response == 1) {
但是这个应该不会使代码不工作
相关文章:
- event.preventDefault阻止ajax调用
- event.preventDefault() 不会在 jQuery Mobile 中取消链接方向
- 如果存在event.preventDefault函数,则ajaxForm不起作用
- event.preventDefault在表单选择中不起作用
- event.preventdefault 在 Firefox 中不起作用
- RxJS:我如何 event.preventDefault() 一个丢弃事件
- javascript event.preventdefault() 在 jquery.click with Rails
- 如何重置表单提交事件的 event.preventDefault()
- event.preventDefault() in firefox
- jquery .click() event.preventDefault() 不起作用
- 访问定位点属性和 event.preventDefault()
- $.ajax 发送两次,event.preventDefault 不可用
- 在 event.preventDefault() 之后重新启用按钮默认值
- 允许在启用 event.preventDefault 时使用 touchstart 进行垂直滚动
- event.preventDefault() 在移动设备上不起作用
- ibooks中的event.preventDefault():谁能解释为什么这不起作用
- event.preventDefault();仅在某些时候使用提交表单
- event.preventDefault();停止在FF工作
- event.preventDefault();在 AJAX 中不起作用
- event.preventDefault?event.prventDefault():event.returnValue