提交前执行javascript

提交前执行javascript,javascript,php,jquery,Javascript,Php,Jquery,我知道标题听起来与其他一些线程类似,但有点不同。我有几个类似的按钮: <input type=button name=Ok onclick='window.location="www.bla.com/bla.php"'> jquery代码可以工作,但是按钮不能…试试这个 <input class="btn" type=button name=Ok data-href="location"> $( document ).ready(function() { $('

我知道标题听起来与其他一些线程类似,但有点不同。我有几个类似的按钮:

<input type=button name=Ok onclick='window.location="www.bla.com/bla.php"'>
jquery代码可以工作,但是按钮不能…

试试这个

<input class="btn" type=button name=Ok data-href="location">

$( document ).ready(function() {
   $('.btn').click(function(){

    // as you have used jQuery selector you can use it here like this 
    $('#contact').submit();   

    var location = $(this).attr("data-href");

    window.location.href  =  location;
    }); 
});

$(文档).ready(函数(){
$('.btn')。单击(函数(){
//由于您已经使用了jQuery选择器,所以可以在这里这样使用它
$(“#联系人”).submit();
var location=$(this.attr(“data href”);
window.location.href=位置;
}); 
});
试试这个

<input class="btn" type=button name=Ok data-href="location">

$( document ).ready(function() {
   $('.btn').click(function(){

    // as you have used jQuery selector you can use it here like this 
    $('#contact').submit();   

    var location = $(this).attr("data-href");

    window.location.href  =  location;
    }); 
});

$(文档).ready(函数(){
$('.btn')。单击(函数(){
//由于您已经使用了jQuery选择器,所以可以在这里这样使用它
$(“#联系人”).submit();
var location=$(this.attr(“data href”);
window.location.href=位置;
}); 
});

我的解决方案是基于jQuery的

此处的语法不正确:

<input type=button name=Ok onclick="www.bla.com/bla.php">

我的解决方案是基于jQuery的

此处的语法不正确:

<input type=button name=Ok onclick="www.bla.com/bla.php">

像这样的东西能完成任务吗

<input type='button' name='ok_btn' id='ok_btn' value='Ok'  data-href="www.bla.com/bla.php" />

$(document).ready(
    function() {
        $('#ok_btn).on('click',function(){
            // Do your stuff
            // Finally:
            window.location.replace($(this).attr('data-href'));
        });
    }
);

$(文件)。准备好了吗(
函数(){
$('#ok_btn).on('click',function(){
//做你的事
//最后:
window.location.replace($(this.attr('data-href'));
});
}
);

像这样的东西可以做这项工作吗

<input type='button' name='ok_btn' id='ok_btn' value='Ok'  data-href="www.bla.com/bla.php" />

$(document).ready(
    function() {
        $('#ok_btn).on('click',function(){
            // Do your stuff
            // Finally:
            window.location.replace($(this).attr('data-href'));
        });
    }
);

$(文件)。准备好了吗(
函数(){
$('#ok_btn).on('click',function(){
//做你的事
//最后:
window.location.replace($(this.attr('data-href'));
});
}
);

提交表单后,不会执行任何javascript。表单提交会更改window.location,从而停止旧window.location中的JavaScriptpt的执行

但是你可以假装

  • 使用jquery表单提交表单(如果CORS允许)

  • 或者让表单目标处的脚本重定向到所需位置

  • 或者提交到所需的位置,让脚本将表单数据发送到它应该去的地方


提交表单后,不会执行任何javascript。表单提交会更改window.location,从而停止旧window.location中的JavaScriptpt的执行

但是你可以假装

  • 使用jquery表单提交表单(如果CORS允许)

  • 或者让表单目标处的脚本重定向到所需位置

  • 或者提交到所需的位置,让脚本将表单数据发送到它应该去的地方



@Teemu抱歉,我忘了window.location您在Html中混淆了“and”。@Fuzzyma这是怎么回事?两者在JS和Html中都有效。是的,但建议使用“in”的标准Html@PetruLebada我想您已经注意到了,提交表单会阻止设置新的
窗口。位置
工作。@Teemu抱歉,我忘了window.location你在Html中混淆了“and”。@Fuzzyma这是怎么回事?两者在JS和Html中都有效。是的,但建议使用“in”的标准Html@PetruLebada我想您已经注意到了,提交表单会阻止设置新的
窗口。位置
工作。您的答案可能会工作,但我需要更具体一点,因为我有很多按钮,每个按钮都会将您发送到不同的页面您可以在data href中为每个按钮指定位置单击按钮时,它将获取该按钮的url并重定向到该url您可以在按钮的action属性中指定位置。您的答案可能有效,但我需要更具体一点,因为我有很多按钮,每个按钮都会将您发送到不同的页面。您可以在单击按钮时在data href中为每个按钮指定位置,它将获取该按钮的url并重定向到该url。您可以在按钮的action属性中指定位置。抱歉,我忘记了window.location。。请再次检查我的问题。这已经完成。请仔细阅读,它应该可以工作。如果
form.submit
成功,您的javascript将停止运行,您是否执行了form.submit失败?对不起,我忘记了window.location。。请再次检查我的问题。这已经完成。请仔细阅读,它应该可以工作。如果
form.submit
成功,您的javascript将停止运行,您是否执行了exepct form.submit以失败?这将工作,因为表单未在代码段中提交。这不是OP想要的.Hm,所以用
$('#contact').attr('action',$(this.attr('data-href'))替换
window.location…
$(#contact')。提交()可以吗?这将起作用,因为表单未在代码段中提交。这不是OP想要的.Hm,所以用
$('#contact').attr('action',$(this.attr('data-href'))替换
window.location…
$(#contact')。提交()
可以吗?确切地说,你可以执行一些JS,因为在加载新页面之前会有延迟,但是
位置href
的更改会立即被阻止。确切地说,你可以执行一些JS,因为在加载新页面之前会有延迟,但是
位置href
的更改会立即被阻止。