Javascript Can';t调用单据体上的ajaxSubmit函数
我只能在页面主体上插入代码。我需要通过Ajax提交表单,并将字符串发送到服务器应用程序。所以我使用Javascript Can';t调用单据体上的ajaxSubmit函数,javascript,jquery,jquery-forms-plugin,Javascript,Jquery,Jquery Forms Plugin,我只能在页面主体上插入代码。我需要通过Ajax提交表单,并将字符串发送到服务器应用程序。所以我使用jQueryformplugin。这是我尝试添加的代码: <script src='http://somesite.ru/interactive/jquery-1.8.3.min.js'></script> <script src='http://malsup.github.io/min/jquery.form.min.js'></script> &l
jQuery
formplugin。这是我尝试添加的代码:
<script src='http://somesite.ru/interactive/jquery-1.8.3.min.js'></script>
<script src='http://malsup.github.io/min/jquery.form.min.js'></script>
<link rel='stylesheet' type='text/css' href='http://somesite.ru/interactive/somesite_interactive.css'>
<div id='question_block'>
<b>You can left your question at the form right here:</b>
<form action='http://somesite.ru/interactive/question' id='interactive_form'>
<span>Your name:</span><input type='text' name='sender' size='64'>
<textarea name='question_text'></textarea>
<input type='button' id='interactive_submit_question' value='Отправить'>
</form>
<script type='text/javascript'>
$("#interactive_submit_question").click(function(){
$("#interactive_form").ajaxSubmit();
$("#interactive_question_block").html("<b>Thanks! Your question was submited successfully.</b>");
});
</script>
您可以将问题留在此处的表格中:
你的名字:
$(“交互式提交问题”)。单击(函数(){
$(“#交互式表单”).ajaxSubmit();
$(“#交互式问题块”).html(“谢谢!您的问题已成功提交。”);
});
在加载页面时,我没有收到任何错误,但当我单击按钮时,我收到了错误
“TypeError:$(…)。ajaxSubmit不是函数”
但是我只是用
<script src='http://malsup.github.io/min/jquery.form.min.js'></script>
更新:看起来问题在于这个页面已经加载了jQuery(2次)和旧版本的表单插件
我刚刚使用了一个简单的函数$.post()将数据发送到我的服务器。为什么不直接使用$.ajax?同样简单,您可以更好地控制提交的内容。为什么不使用$.ajax呢?同样简单,您可以更好地控制提交的内容。您真的需要ajaxSubmit方法吗?您可以尝试以下方法:
<script type='text/javascript'>
$(document).ready(function() {
var helper = {};
helper.parseFormData = function parseFormData(form) {
var json = {};
form.find("[name]").each(function() {
var _name = $(this).attr("name")
, _value = $(this).attr("value");
json[_name] = _value;
});
return json;
};
helper.submitForm = function submitForm(form, callback) {
var _data = helper.parseFormData(form)
, _url = form.attr("action")
, _type = form.attr("method");
$.ajax({
type: _type,
url: _url,
data: _data,
success: function(content, p2, p3) {
callback(content);
},
error: function(p1, p2, p3) {
callback(null);
}
});
};
// submit form on button click
$("#interactive_submit_question").click(function(){
helper.submitForm($("#interactive_form"), function() {
$("#interactive_question_block").html("<b>Thanks! Your question was submited successfully.</b>");
});
});
});
</script>
$(文档).ready(函数(){
var-helper={};
helper.parseFormData=函数parseFormData(表单){
var json={};
form.find(“[name]”)。每个(函数(){
var\u name=$(this.attr(“name”)
,_value=$(this.attr(“value”);
json[\u name]=\u值;
});
返回json;
};
helper.submitForm=函数submitForm(表单,回调){
var\u data=helper.parseFormData(表单)
,_url=form.attr(“操作”)
,_type=form.attr(“方法”);
$.ajax({
类型:_类型,
url:_url,
数据:_数据,
成功:功能(内容、p2、p3){
回调(内容);
},
错误:功能(p1、p2、p3){
回调(空);
}
});
};
//点击按钮提交表格
$(“交互式提交问题”)。单击(函数(){
submitForm($(“#交互式#form”),function(){
$(“#交互式问题块”).html(“谢谢!您的问题已成功提交。”);
});
});
});
您真的需要ajaxSubmit方法吗?您可以尝试以下方法:
<script type='text/javascript'>
$(document).ready(function() {
var helper = {};
helper.parseFormData = function parseFormData(form) {
var json = {};
form.find("[name]").each(function() {
var _name = $(this).attr("name")
, _value = $(this).attr("value");
json[_name] = _value;
});
return json;
};
helper.submitForm = function submitForm(form, callback) {
var _data = helper.parseFormData(form)
, _url = form.attr("action")
, _type = form.attr("method");
$.ajax({
type: _type,
url: _url,
data: _data,
success: function(content, p2, p3) {
callback(content);
},
error: function(p1, p2, p3) {
callback(null);
}
});
};
// submit form on button click
$("#interactive_submit_question").click(function(){
helper.submitForm($("#interactive_form"), function() {
$("#interactive_question_block").html("<b>Thanks! Your question was submited successfully.</b>");
});
});
});
</script>
$(文档).ready(函数(){
var-helper={};
helper.parseFormData=函数parseFormData(表单){
var json={};
form.find(“[name]”)。每个(函数(){
var\u name=$(this.attr(“name”)
,_value=$(this.attr(“value”);
json[\u name]=\u值;
});
返回json;
};
helper.submitForm=函数submitForm(表单,回调){
var\u data=helper.parseFormData(表单)
,_url=form.attr(“操作”)
,_type=form.attr(“方法”);
$.ajax({
类型:_类型,
url:_url,
数据:_数据,
成功:功能(内容、p2、p3){
回调(内容);
},
错误:功能(p1、p2、p3){
回调(空);
}
});
};
//点击按钮提交表格
$(“交互式提交问题”)。单击(函数(){
submitForm($(“#交互式#form”),function(){
$(“#交互式问题块”).html(“谢谢!您的问题已成功提交。”);
});
});
});
github不是CDN。检查脚本是否加载到网络选项卡somesite.ru
中,但我确信您知道这一点,并且只是将其用作示例。我还尝试从我的域加载它,如“somesite.ru/jquery.forms.js”。。插件加载正常-我在控制台中看到它。是的,somesite.ru只是一个例子。这是一个充满漏洞和糟糕代码的大型站点-不想让它成为私有)@LLAlive那么你是否多次加载jQuery?或者您是否正在使用覆盖$
的任何其他库?github不是CDN。检查脚本是否加载到网络选项卡somesite.ru
中,但我确信您知道这一点,并且只是将其用作示例。我还尝试从我的域加载它,如“somesite.ru/jquery.forms.js”。。插件加载正常-我在控制台中看到它。是的,somesite.ru只是一个例子。这是一个充满漏洞和糟糕代码的大型站点-不想让它成为私有)@LLAlive那么你是否多次加载jQuery?或者你正在使用任何其他的库来覆盖$
?感谢这段代码,但在我当前的JS级别上它看起来太难理解)我在$.post函数中使用了稍微简单一点的代码()感谢这段代码,但在我当前的JS级别上它看起来太难理解)我在$.post函数()中使用了稍微简单一点的代码