Javascript Can';t调用单据体上的ajaxSubmit函数

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

我只能在页面主体上插入代码。我需要通过Ajax提交表单,并将字符串发送到服务器应用程序。所以我使用
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函数()中使用了稍微简单一点的代码