我怎样才能阻止video.js提交表单的按钮?

时间:2015-08-12 10:44:36

标签: jquery forms video.js

在我的网络应用程序中,我有一个video.js-player,它集成在一个带有复选框的表单中,用于将上传的视频标记为已删除。我的问题是玩家的所有按钮都提交了表单。我该如何防止这种行为?

Extract(jsfiddle:http://jsfiddle.net/sLsvLv0q/11/):

$(document).ready(function()
{
    $("#f_produkt").submit(function(e)
    {
        e.preventDefault();
        alert("submit");
    });
});

<form id="f_produkt" action="" method="post">
Delete? <input id="f_delete" type="checkbox" value="1" name="delete">
<video id="my_video_1" class="video-js vjs-default-skin vjs-16-9" controls preload="auto" width="640" height="268" data-setup='{}'>
<source src="http://vjs.zencdn.net/v/oceans.mp4" type='video/mp4'>
<source src="http://vjs.zencdn.net/v/oceans.webm" type='video/webm'>
</video>
<input id="f_submit" type="submit" value="Only this button to submit the form">
</form>

编辑:video.js解决了问题https://github.com/videojs/video.js/pull/2471

2 个答案:

答案 0 :(得分:1)

你可以检查点击了哪个按钮,这样你就可以触发你的行动了

    $(document).ready(function()
{
    $("#f_produkt").submit(function(e)
    {
        var check = $("#f_submit").data('clicked');
        if(check == 'Y'){
            $("#f_submit").data('clicked','N');
            alert("submit");
            e.preventDefault();
        } else {
            e.preventDefault();
        }
    });
    $("#f_submit").on('click',function(){
        $(this).attr('data-clicked','Y');
    });
});

希望这是您正在寻找的解决方案,只需弄清楚您希望采取何种行动......

答案 1 :(得分:0)

如果您使用的是IE,则需要event.returnValue,请尝试以下操作:

$("#f_produkt").submit(function(e)
{
    e.preventDefault ? e.preventDefault() : event.returnValue = false;
    alert("submit");
});