【问题标题】:ajaxsubmit target form input fieldajaxsubmit 目标表单输入字段
【发布时间】:2013-01-27 01:24:14
【问题描述】:

我试图弄清楚 ajaxSubmit 是否只能定位 #div 或其他对象。

我有一个使用 ajax 上传图片的脚本,上传图片的 url 后将显示在名为 Output 的#div 中。但是,我希望这个 url 在输入字段中可见,而不是在 div 中。

<script> 
    $(document).ready(function() { 
        $('#UploadForm').on('submit', function(e) {
            e.preventDefault();
            $('#SubmitButton').attr('disabled', ''); // disable upload button
            //show uploading message
            $("#output").html('<div style="padding:10px"><img src="images/ajax-loader.gif" alt="Please Wait"/> <span>Uploading...</span></div>');
            $(this).ajaxSubmit({
                target: '#output',
                success:  afterSuccess //call function after success
            });
        });
    }); 

    function afterSuccess()  { 
        $('#UploadForm').resetForm();  // reset form
        $('#SubmitButton').removeAttr('disabled'); //enable submit button

    } 
</script> 

那么是否可以针对输入字段的名称呢?

【问题讨论】:

    标签: jquery ajax input-field


    【解决方案1】:
    function afterSuccess(url){
            $('#UploadForm').resetForm();  // reset form
            $('#SubmitButton').removeAttr('disabled'); //enable submit button
            $('#output').append('input').addClass('myCssClass').val(url);
    }
    

    【讨论】:

    • 输入字段不在#output div内。
    • 这样它将在输出中创建。如果你不想这样,只需直接引用输入字段 $('#yourInputId').val(url);在 afterSuccess 中(替换最后一行)
    • 所以在我的表单中我应该有 并且我应该输入 $('#test').val(url); ?我尝试了类似的东西,但我没有工作。我应该在输入中添加 value='' 吗?
    • 不需要添加value属性。它将被添加。你把代码放在 $('#SubmitButton').removeAttr.... 之后吗?在添加该行之前,添加一个 console.log 或一个警报以查看 url 值是否存在:alert(url);如果你然后做 $('#test').val(url);它绝对应该工作
    • function afterSuccess(url) - 您在 afterSuccess 中缺少 url 参数。 Url 只是您从 ajax 调用中获得的数据。它是 jquery ajax 成功函数的参数,你可以称它为“data”、“msg”或其他任何名称。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2022-11-17
    • 2021-07-10
    • 2011-10-14
    • 2014-10-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多