Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/jpa/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用jquery在表单中附加2个函数_Javascript_Jquery - Fatal编程技术网

Javascript 使用jquery在表单中附加2个函数

Javascript 使用jquery在表单中附加2个函数,javascript,jquery,Javascript,Jquery,我有这个html表单 <form action="upload/" id="upload" name="upload"> // other form data </form> 我的问题是,当我单击href#startupboad时,它附带了$('#upload')。uploadThis({})函数可以工作,但当我单击#startDownload时,它没有附加$('#upload')。下载这个({})函数,并且没有被调用 谢谢您的帮助。您可以根据需要多次执行此操作: $(

我有这个html表单

<form action="upload/" id="upload" name="upload">
// other form data
</form>
我的问题是,当我单击href#startupboad时,它附带了$('#upload')。uploadThis({})函数可以工作,但当我单击#startDownload时,它没有附加$('#upload')。下载这个({})函数,并且没有被调用


谢谢您的帮助。

您可以根据需要多次执行此操作:

$("#startDownload").bind('click', function() {
    ...
});

您可以任意多次执行此操作:

$("#startDownload").bind('click', function() {
    ...
});

我不确定想要的行为到底是什么,但是改变元素的ID总是会带来同样的问题

您正在这样做:

$(function() {
    $('#upload').uploadThis({
        // other code here
    });
});

$(function() {
    $('#download').downloadThis({
        // other code here
    });
});
$()
$(document.ready()的简写形式

问题是,当您准备好文档时,它将执行上面的两个处理程序,但那时,只有ID为upload的元素存在,
$(“#下载”)
实际上是一个空选择

您可以调用
$('#upload')。上载this()
$('#download')。在各自的
中下载this()
。更改ID后单击()

$("#startUpload").click(function( {
    $("form")
       .attr({ 'action': 'upload/', 'id': 'upload' })
       .uploadThis(...);
});
注意:如果这些插件是您自己编写的,请确保它们不会在每次调用时初始化


希望我足够清楚:o)

我不确定想要的行为到底是什么,但更改元素的ID总是会带来同样的问题

您正在这样做:

$(function() {
    $('#upload').uploadThis({
        // other code here
    });
});

$(function() {
    $('#download').downloadThis({
        // other code here
    });
});
$()
$(document.ready()的简写形式

问题是,当您准备好文档时,它将执行上面的两个处理程序,但那时,只有ID为upload的元素存在,
$(“#下载”)
实际上是一个空选择

您可以调用
$('#upload')。上载this()
$('#download')。在各自的
中下载this()
。更改ID后单击()

$("#startUpload").click(function( {
    $("form")
       .attr({ 'action': 'upload/', 'id': 'upload' })
       .uploadThis(...);
});
注意:如果这些插件是您自己编写的,请确保它们不会在每次调用时初始化


希望我足够清楚:o)

您正在尝试在元素存在于DOM之前绑定它们。。。这是行不通的

$("#startUpload").click(function( {
    $("form").attr('action','upload/').attr('id','upload').submit(function() {
        $(this).uploadThis({
            //other code here
        });
    );
});

$("#startDownload").click(function( {
    $("form").attr('action','download/').attr('id','download').submit(function() {
        $(this).downloadThis({
            //other code here
        });
    );
});

这样,您将在submit form事件中绑定所需的操作。可能会解决您的问题。

您正在尝试在DOM上存在元素之前绑定它们。。。这是行不通的

$("#startUpload").click(function( {
    $("form").attr('action','upload/').attr('id','upload').submit(function() {
        $(this).uploadThis({
            //other code here
        });
    );
});

$("#startDownload").click(function( {
    $("form").attr('action','download/').attr('id','download').submit(function() {
        $(this).downloadThis({
            //other code here
        });
    );
});

这样,您将在submit form事件中绑定所需的操作。可能会解决您的问题。

一个简单的方法是为表单创建自定义事件,并通过onclick的以下命令触发它们:

$("#startUpload").click(function( {
    $("form").trigger('upload');
});
$("#startDownload").click(function( {
    $("form").trigger('download');
});

$("form").bind('upload',function(){
    $(this).attr('action','upload/').uploadThis();
}).bind('download',function(){
    $(this).attr('action','download/').downloadThis();
});

一种简单的方法是为表单创建自定义事件,并通过onclick的以下命令触发它们:

$("#startUpload").click(function( {
    $("form").trigger('upload');
});
$("#startDownload").click(function( {
    $("form").trigger('download');
});

$("form").bind('upload',function(){
    $(this).attr('action','upload/').uploadThis();
}).bind('download',function(){
    $(this).attr('action','download/').downloadThis();
});

.click()
的缩写。bind('click',…)
。click()
的缩写。bind('click',…)
您的代码遗漏了很多
}
。你应该纠正它,这样更容易理解。什么也是
.uploadThis({…})
应用于jquery对象?一些插件?谢谢Didier,实际上上面的代码我只是为了演示而写的,实际的代码很长,所以我想如果我能用上面的代码得到逻辑的话。Regardsher是我正在使用的实际代码,它是一个进度条插件。Regardsy您的代码遗漏了很多
}
。你应该纠正它,这样更容易理解。什么也是
.uploadThis({…})
应用于jquery对象?一些插件?谢谢Didier,实际上上面的代码我只是为了演示而写的,实际的代码很长,所以我想如果我能用上面的代码得到逻辑的话。Regardsher是我正在使用的实际代码,它是一个进度条插件。谢谢,先生,是的,我现在明白了,#下载不在文档中,所以它没有运行,如果我只附加到,您上面的逻辑将工作。单击事件,但在页面加载上,我必须初始化$(“#上载”)。上载此()一次。感谢您的输入我刚刚用上述方法在submit按钮中添加了所有函数,全部修复,再次感谢谢谢您,先生,是的,我现在了解到,#下载不在文档中,所以它没有运行,如果我只附加到,您上面的逻辑将起作用。单击事件,但在页面加载时,我必须初始化$('#upload')。上载此()一次。谢谢你的输入我刚刚用上面的方法在提交按钮中添加了所有功能,所有功能都已修复,再次感谢Hank先生,我测试了这个方法,它按预期工作。这是我的实际代码,现在我还想在页面加载时上载this(),我将如何实现它?关于汉克先生,我测试了这个方法,它的效果和预期的一样。这是我的实际代码,现在我还想在页面加载时上载this(),我将如何实现它?当做