嘿伙计们我正在努力解决这个问题,但是我的问题甚至在我的函数内部提交了JQuery中的表单提交,我已经设置了几个console.log但它实际上从未实际 进入我的第一个功能,有人知道我做错了吗?
代码
<script src='http://www.google.com/jsapi'></script>
<script> google.load('jquery', '1.7.1'); </script>
<script>
console.log('outside function');
$("form").submit(function() {
console.log('submit happened');
queryJsonServer($(this), "class/");
return false;
});
function queryJsonServer(form, path) {
var inputs = $('input:radio').serializeArray();
var params = createAction("saveFormData", inputs);
var url = path + "json.php";
$.post(url, params, function(data) {
console.log(data);
$.("form").submit();
});
}
</script>
HTML
<form>
<fieldset>
<legend>Select Orders</legend>
<table id='master'></table>
</div> <!-- end input1 -->
<div>
<button name="select" type="submit" id="btnLoad" value="load">Refresh</button>
<button name="select" type="submit" id="btnJson" value="down">Download JSON</button>
<button name="select" type="submit" id="btnView" value="view">View/Enter</button>
</div>
</fieldset>
</form>
答案 0 :(得分:1)
您可能会尝试将函数包装在jQuery函数中,以便在DOM准备就绪时执行。
<script>
$(function(){
console.log('outside function');
$("form").submit(function() {
console.log('submit happened');
queryJsonServer($(this), "class/");
return false;
});
function queryJsonServer(form, path) {
var inputs = $('input:radio').serializeArray();
var params = createAction("saveFormData", inputs);
var url = path + "json.php";
$.post(url, params, function(data) {
console.log(data);
$.("form").submit();
});
}
});
</script>
答案 1 :(得分:0)
这一行:
$("form").submit(function() {
...在脚本运行时,将提交事件绑定到DOM 中的每个表单。
自剧本以来:
<head>
...绑定事件处理程序时没有表单元素。
移动脚本使其显示在表单元素之后(例如,在</body>
之前),或者在就绪事件处理程序中调用该函数。