我有一个HTML表单
$("#mainform").submit(function() {
$.post($("#mainform").attr("action"), $("#mainform").serialize(), function(data){
doSomething();
});
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<form id="mainform">
<input type="hidden" name="myparam" value="1" />
<input type="submit" />
</form>
如何获取随表单发送的参数,例如本例中的“myparam”?看起来回调函数的'data'参数反而返回整个页面的html。
答案 0 :(得分:0)
data
确实会返回整个页面。这就是功能的作用。
你想做的是
$("#mainform").submit();
$ .ajax()($ .get,$ .post等)是异步提交表单的,所以回调中的数据变量将包含响应内容(在你的情况下,你在网址的整个页面)发送表格到)
答案 1 :(得分:-1)
看起来像回调函数的'data'参数 返回整个页面的html。
这是正确的。
如果要在回调函数中访问表单元素,则应创建表单元素的变量。
$("#mainform").submit(function() {
var theForm = $("#mainform");
$.post($("#mainform").attr("action"), $("#mainform").serialize(), function(data){
var myparam = theform.find('input [name="myparam"]');
doSomething();
});