在Iphone设备上使用Jquery Onclick

时间:2016-02-15 16:53:04

标签: jquery iphone asp.net-mvc html5 mobile

我在我的网站上使用MVC,并且在表单上使用“onclick”时遇到了麻烦。这是我的代码:

using (@Html.BeginForm("findpost", "keyword", FormMethod.Post, new { id = "mainForm" }))
                    {
                        <button type="submit" class="btn-submit" name="s" onclick="showupdate();"></button>
                        <input name="query" type="text" id="query" value="@Model.search" placeholder=" ex: iPod">
                        <input type="hidden" name="pos" value="" />
                        <input type="hidden" name="dis" value="" />
                    }

showupdate();在加载结果页面期间显示gif。这在桌面和桌面上运行得很好android设备。搜索在iphone上有奇怪的行为。它只考虑我输入的第一个关键字(来自主页)。如果我删除“onclick = ...”,它可以工作,但它不加载GIF ... 知道哪里可以来自哪里?我试图直接在JS中添加点击,但它既不起作用。

这是gif:

function preparepreloader() {
var loader = $('<div class="preloaderwrapper hiddenn">' +
'</div>' +
'<div class="preloader hiddenn">' +
    '<div class="prewrapper">' +
        '<div class="eyeglass">' +
            '&nbsp;</div>' +
        '<div class="preloaderanimate">' +
            '&nbsp;</div>' +
    '</div>' +
'</div>');

var new_loader = $('<div class="preloader_gif preloader hiddenn"> <img src="'+ mediaUrl +'/img/loader/712.gif" /> </div>');

$('#updatepreloader').append(loader);
$('#updatepreloader').append(new_loader);}

1 个答案:

答案 0 :(得分:1)

只需在提交后为要显示gif的表单添加一个类 hasLoader ,这样就可以阻止默认事件,加载gif,然后表单会自动提交。抱歉,我对 showupdate() preparepreloader()感到困惑,所以我希望这是我理解的一些内容。

<强> MVC

using (@Html.BeginForm("findpost", "keyword", FormMethod.Post, new { @id = "mainForm", @class = "hasLoader" }))
{
    <button type="submit" class="btn-submit" name="s"></button>
    <input name="query" type="text" id="query" value="@Model.search" placeholder=" ex: iPod">
    <input type="hidden" name="pos" value="" />
    <input type="hidden" name="dis" value="" />
}

<强> JS

$('.hasLoader').on('submit',function(e){
    e.preventDefault();
    var loader = $('<div class="preloaderwrapper hiddenn"></div>' +
    '<div class="preloader hiddenn">' +
        '<div class="prewrapper">' +
            '<div class="eyeglass">&nbsp;</div>' +
            '<div class="preloaderanimate">&nbsp;</div>' +
        '</div>' +
    '</div>');

    var new_loader = $('<div class="preloader_gif preloader hiddenn"> <img src="'+ mediaUrl +'/img/loader/712.gif" /> </div>');

    $('#updatepreloader').append(loader, new_loader);
    $(this).off('submit').submit();
});