我想输入值,输入字段,所以当我从输入字段中删除输入字段时,我将运行ajax代码并将值输入dataString
发送到同一个文件,在这种情况下cald ajax.php。
感谢
我的代码:
$(document).ready(function()
{
var dataString;
$("valueforajax").mouseleave(function() {//when we leave the field.
alert('test it is mouseup ');
dataString=$("#valueforajax").val();
alert(dataString);
if ("" = dataString){//it is mean that input field not empty
$.ajax({
type: "POST",
url: "../../ajax.php",
data: dataString,
cache: false,
success: function(html)
{
alert("There is submited sucsses");
}
});//ajax
}//if
});//mouseup
});//ready
ajax.php
<?php
if (isset($_POST['dataString'])){
echo ("dataString not empty:= ".$_POST['dataString']);}
?>
<html>
<head>
<link rel="stylesheet" type="text/css" href="./public/stylesheets/stylesheets.css" >
<script type="text/javascript" src="./public/js/jquery-1.7.1.min.js"></script>
<script type="text/javascript" src="./public/js/ajax.js"></script>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1255">
<title>mange panel</title>
</head>
<body>
<br>Type value for test in ajax<input id="valueforajax" type=text name='ajaxtest'>
</body>
</html>
答案 0 :(得分:3)
您错过了#
登录选择器
$("valueforajax")
应为$("#valueforajax")
。
也
data: dataString
应为data: 'dataString=' + dataString
或data: {"dataString": dataString}
,因为在您的PHP代码中,您正在搜索
$_POST['dataString']
即dataString
键。
$("#valueforajax").blur(function() { // blur is perfect for what you searching
dataString = $.trim(this.value); // you don't need $("#valueforajax").val();
// here, this is enough
if (dataString){ // checking for presence of value
$.ajax({
type: "POST",
url: "../../ajax.php",
data: 'dataString=' + dataString, // or {"dataString": dataString}
cache: false,
success: function(html) {
alert("There is submited sucsses");
}
});
}
});
答案 1 :(得分:1)
您想使用blur而不是mouseleave。
每当您离开表单元素时都会发生模糊事件。当你点击TAB,点击字段外,更改字段等等时会发生这种情况....
mouseleave仅在鼠标离开元素时发生。
答案 2 :(得分:0)
数据必须是对象(例如{"dataString" : "test"}
)或字符串(例如"dataString=test"
)