2017-02-16 3 views
7

こんにちは私は、カートにアイテムを追加すると追加され、またカートアイテムを表示するポップアップが1つ開くコードを実装しました。 デスクトップでは正常に動作していますが、モバイルデバイスでは動作していません。ここでUncaught ReferenceError:表示値が定義されていません(モバイルデバイスのみ)

Uncaught ReferenceError: showvalue is not defined 

が私の次のコード

<script type="text/javascript"> 
function showvalue(value, product) { 

    $('#<%= lblproduct1.ClientID %>').text(product); 
    $('#<%= lblVessel.ClientID %>').text(value); 
    $('.cart_popup').show(); 
    setTimeout(function() { 
     $('.cart_popup').fadeOut('slow'); 
    }, 5000); 
    return false; 
} 
function Showprogress() {    
    $('#<%= Progress.ClientID %>').show();  
} 

のHTML側私は.cs側のコード

<asp:Button ID="AddToBasketButton" OnClientClick="Showprogress()" runat="server" OnClick="AddToBasketButton_Click" EnableViewState="false" ValidationGroup="AddToBasket" Text="Add to Cart" /> 

た.ascxページであるとして、それはエラーを鍛えているモバイルデバイスの (合計と数量を渡す)

ScriptManager.RegisterClientScriptBlock(this.Page, typeof(UpdatePanel), UniqueID, "showvalue('" + Total + "','" + productquantity + "');", true); 

私はモバイルデバイスでのみ問題に直面しています。 ボタンをクリックするとマイページが更新され、ポップアップが開かれない

+0

モバイルで仕事を始めていた私のポップアップを置いていること(実際の質問によると)だと思います。ネット、jqueryモバイルでは、例えば、あなたが別のイベントとして "クリック"と "タップ"を持っている、これは問題のようなことができますか? – Gunnar

+0

私は.csファイルのコード –

+0

@Anantあなたの関数を呼び出す任意のコードを見ていませんか? –

答えて

1

jqueryポップアップを削除し、Ajax Modalポップアップを使用しました。 ポップアップは開かれていましたが、.cs側から呼び出していましたが、5秒後に自動的に非表示にするために、以下のコードを使用していました。

<asp:Button ID="AddToBasketButton" OnClientClick="Showprogress();" runat="server" OnClick="_Click" Text="button" />//button click and onclient click 
//Below div is only showing processing image :-) 
<div id="Progress" runat="server" style="display: none;"> 
<img src="../images/spinner.gif" /> 
</div> 

マイスクリプト

<script type="text/javascript"> 
$(document).ready(function() { hide_pop(); }); 

function Showprogress() {  
    $('#<%= Progress.ClientID %>').show(); 
    hide_pop(); 
    return false; 
} 
function hide_pop() { 
    setTimeout(function() { 
     $('.popup_cart_main').fadeOut('slow');//Popup Panel class 
     $('.modalBackground').fadeOut('slow');//Background blacklayout Class 
    }, 5000);  
    return false; 
} 

Modalpopup

<asp:LinkButton ID="lnkDummy" runat="server" ></asp:LinkButton> 
<cc1:ModalPopupExtender ID="ModalPopupExtender1" BehaviorID="mpe" runat="server" 
PopupControlID="pnlPopup" TargetControlID="lnkDummy" BackgroundCssClass="modalBackground" > 
</cc1:ModalPopupExtender> 
<asp:Panel ID="pnlPopup" runat="server" CssClass="popup_cart_main" Style="display: none"> 
<div class="cart_popup" >    
     Solved   
     </div> 
</asp:Panel> 

このコードは、すべてのブラウザで働いていると

iphone &を含むすべてのモバイルは、Android

は、私はまた、場合には、私はjQueryのポップアップを削除していなかった場合にのみ、コードの下に、私はASPで慣れていないよすぎ

$(document).ready(function() { showvalue(); });// based on actual question 
0

RegisterClientScriptBlockを呼び出す前にスクリプトがレンダリングされていることを確認してください。 HTML解析は線形です。

+0

をスクリプトがある場合デスクトップ上で動作する理由よりも適切に初期化されていませんか? –

+0

レンダリング/ビルドの順番がモバイルで同じかどうかはわかりません。エラーは、メソッド定義が見つからないことを示します。 これを試してください:alert(showvalue); – Dexion

0
  • 終了タグをコピーするのは忘れましたか、あまりにもコードでやっていませんでしたか?

それは次のようになります。C#で

<script type="text/javascript"> var jName = '<%=cName()%>'</script> 

:JavaScriptで

<script type="text/javascript"> 
function showvalue(value, product) { 

    $('#<%= lblproduct1.ClientID %>').text(product); 
    $('#<%= lblVessel.ClientID %>').text(value); 
    $('.cart_popup').show(); 
    setTimeout(function() { 
     $('.cart_popup').fadeOut('slow'); 
    }, 5000); 
    return false; 
} 
function Showprogress() {    
    $('#<%= Progress.ClientID %>').show();  
} 
</script> 
  • は別のアプローチを試してみてください

    protected string cName() { 
        return "examplevarcontent"; 
    } 
    
関連する問題