我想传递输入字段类型以及该输入字段的值。到目前为止,我成功地将输入字段的值获取到adddata.php。但我找不到获取输入字段类型的方法。请帮忙。 这是我的代码。
<html lang="en">
<head>
<meta charset="utf-8">
<title>attr demo</title>
<script src="jquery.js"></script>
</head>
<body>
<form action="adddata.php">
<input id="name" type="text" name="name">
<button id="submit">Submit</button>
</form>
<script>
$(document).ready(function() {
$('#submit').click(function(){
$.ajax({
type : 'POST',
url : 'adddata.php',
data : {name:$('#name').val(),type:$('input').attr("type")},
dataType : 'json',
encode : true
success:function(jsonData){
alert('Success!');
}
});
});
});
</script>
</body>
</html>
这是我的adddata.php文件
<?php
$name = $_REQUEST['name'];
$type = $_POST['type'];
echo $name;
echo $type;
?>
答案 0 :(得分:0)
尝试 -
data : {name:"'"+$('#name').val()+"'",type:"'"+$('#name').attr("type")+"'"},
<强>更新强>
$('#submit').click(function(){
$.ajax({
type : 'POST',
url : '4.php',
data : {name:$('#name').val(),type:$('#name').attr("type")},
dataType : 'json',
encode : true,
success:function(jsonData){
// do staff
}
});
return false;
});
在表单提交时,从未使用代码进行ajax
调用。表单中没有任何名为type
的内容。这就是错误即将到来的原因。此外,您在,
之后错过encode : true
。
答案 1 :(得分:0)
您提交表单后不需要ajax调用 - 删除脚本并替换为:
$('form').submit(function() {
// Before submit
$(this).prepend(
'<input type="hidden" name="type" value="'+$('input').attr('type')+'" />'
);
return true; // return false to cancel form action
});