我有下面的代码,可以通过ajax / jquery向后端发布请求来正常工作。
我想完成的事情:
现在,我想在对表单输入进行聚焦和按键操作时获取变量数据,并通过ajax jquery将它们作为请求的一部分发送 这样 datasend 变量看起来就像
var datasend = "myname="+ myname + "&focu=" + focu + "&pres=" + pres;
以下是脚本,显示了我如何通过ajax / jquery成功将数据发布到
<script>
$(document).ready(function(){
$('#create').click(function(){
var myname= $('#myname').val();
var datasend = "myname="+ myname;
$.ajax({
type:'POST',
url:'save.php',
data:datasend,
crossDomain: true,
cache:false,
success:function(msg){
// print result
alert('success');
}
});
})
});
</script>
这是表格输入
<input type="text" name="myname" id="myname" value="haco" />
<input type='text' id="myfocus" value="">
<input type='text' id="mypress" value="">
<input type="submit" value="submit " id="create" />
下面是如何成功检查表单输入焦点和按键的方法。
$('input').on('click', function() {
if ($('#myfocus').is(':focus')) {
alert('am focused');
var focu='am focused';
}
});
$('#mypress').keyup(function(){
alert('am pressed');
var pres= 'am pressed';
});
关于如何实现上述要求的任何想法。有什么解决方法或建议吗?
答案 0 :(得分:0)
您已经快要在那里了,您只需要在POST请求可访问的位置获取数据即可。您可以在调用AJAX之前确定焦点,以存储创建全局变量所需的按键。
<input type="text" placeholder="Begin saldo" name="start_balance" id="start_balance" onchange="setTwoNumberDecimal(this)" onkeypress="return isNumber(event, this)">
<input type="text" placeholder="Eind saldo" name="end_balance" id="end_balance" onchange="getMutaties(this)" onkeypress="return isNumber(event, this)">
这将在查询字符串中将参数发送为true或false,但是更大的问题是您到底想完成什么。只有在侦听器的元素处于焦点状态时,按下任何键时,keyup事件才会触发。另外,为什么要传递查询字符串作为POST请求的请求参数?查询参数被附加到GET请求的URL上,但是对于POST,您可以使用数据创建一个对象,然后使用data属性将其分配给请求主体。除非您尝试使用文字查询字符串来表达某种其他请求。