javascript - ajax不同形式同一页面

标签 javascript ajax forms responsetext

我在同一页面上有两个表单
我已经采取了一个上传脚本(不记得从哪里来),它工作正常,但在提交两个表单时都会调用它,我希望它确定哪个表单已提交,并对第二个表单执行不同的操作。
它们都需要具有complete:function
表格1

<form action="upload.php" name="upform" method="post" enctype="multipart/form-data" onsubmit="return disuload();">
<label for="ftp_upload" id="uloadlfile">Select a file: </label><input type="file" name="ftp_upload" id="uloadfile"></br>
<label for="ftp_upcomm" id="uloadlcomm" class="percent">Comments: </label><input type="text" name="ftp_upcomm" size="34" id="uloadcomm"></br>
<label id="uloadlimit">Maximum upload size: <?php echo ini_get('post_max_size'); ?></label></br>
<input type="submit" id="uloadsub" value="Upload">
</form>

表格2

<form method="post" name="NewFolder">
<label for="ftp_nfolder">Folder name: </label><input type="text" name="ftp_nfolder" size="30"></br>
<input type="submit" value="Create">
</form>

脚本

(function() {
var bar = $('.bar');
var percent = $('.percent');
$('form').ajaxForm({
 beforeSend: function() {
 var percentVal = '0%';
 bar.width(percentVal)
 percent.html(percentVal + ' uploaded, Please wait...');
},
uploadProgress: function(event, position, total, percentComplete) {
 var percentVal = percentComplete + '%';
 bar.width(percentVal)
 percent.html(percentVal + ' uploaded, Please wait...   ');
},
complete: function(xhr) {
 bar.width("0%");
 location.reload();
 percent.html(xhr.responseText);
}
});
})();

最佳答案

您正在使用

$('form')

这适用于文档中的每个表单元素。您可以:

  1. 单独为特定表单添加ajaxForm,例如:

    $('form[name="NewFolder"']).ajaxForm({//...

    $('form[name="upform"]').ajaxForm({//...

或者 2. 确定回调中表单的名称:

//(...)
complete: function(xhr) {
    if ('NewForm' === this.name) {
        //... do something
    } else {
        //Somethingelese
    }
//(...)

关于javascript - ajax不同形式同一页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23957364/

相关文章:

javascript - 使用 javascript 添加 html 元素会使其他 js 变得不稳定

javascript - 如何防止 JQuery 按钮提交我的表单?

javascript - 使用 Javascript 添加的 HTML 表单隐藏字段未发布

ruby-on-rails - rails 3 : How do I create options in a <select> tag from rows in a database table?

asynchronous - Javascript:同步到异步转换器库

javascript - 元素修饰符 classList.add 和 classList.remove 未按预期工作

javascript - 用于验证键盘顺序的正则表达式

Ajax 调用时 Javascript 数组为空

javascript - 当数据大小超过 1119 字节时 jquery ajax 调用失败

ajax - 如何在ajax中调用Struts2 Action方法?