6

私はiPad用のアプリケーションを作成していて、Javaを使用してそれを行っています。JavaScript。HTMLとREST。アプリケーションのページの1つにドロップリストに表示したい国のリストがありますが、残りを使用してこのリストにデータを入力しようとしていますが、アプリケーションを実行すると、ドロップリストに何も表示されず、サファリが表示されますエラー

Assertion failed: (anonymous function) :449

私はこのエラーを8回取得し、最後に異なる番号を付けています

これが私が使っているコードの一部です

main.html

<div id="wrapper">
<div id="mainBackground">
     <div id="stflogo"><img src="images/logo.png" width="200" height="186" alt="MyLogo logo" /></div>

<div id="formContainer">
        <h1>Register Your Card</h1>
        <form id="AccountDetailsForm" method="post" data-ajax="false">

                <input  id="tfscCardNumber" type="hidden" name="tfscCardNumber" class="readonly" minlength="2" maxlength="20" readonly="readonly" disabled="disabled"/>


                <p><label id="firstNameLabel" for="firstName" class="displayBlockLabel RequiredField">First Name </label>
                <input id="firstName" type="text" name="firstName" class="required" minlength="2" maxlength="20"/></p>
                <p><label id="lastNameLabel" for="lastName" class="displayBlockLabel RequiredField"> Last Name </label>
                <input id="lastName" type="text" name="lastName" class="required" minlength="2" maxlength="25"/></p>        

                <p><label id="address1Label" for="address1" class="displayBlockLabel RequiredField">Address 1 </label>
                <input id="address1" type="text" name="address1" class="required" minlength="2" maxlength="40"/></p>
                <p><label id="address2Label" for="address2" class="displayBlockLabel">Address 2</label>
                <input id="address2" type="text" name="address2" maxlength="40"/></p>

                <p><label id="cityLabel" for="city" class="displayBlockLabel RequiredField">Town / City </label>
                <input id="city" type="text" name="city" class="required" minlength="2" maxlength="40"/></p>

               <p> <label id="countyLabel" for="county" class="displayBlockLabel RequiredField">County / State </label>
                <input id="county" type="text" name="county" class="required" minlength="2" maxlength="40"/>    </p>

               <p> <label id="postcodeLabel" for="postcode" class="displayBlockLabel RequiredField">Postcode / Zip </label>
                <input id="postcode" type="text" name="postcode" class="required" minlength="2" maxlength="11"/>    </p>                

               <p> <label id="countrySelectionLabel" for="countrySelection" class="displayBlockLabel RequiredField">Country </label>
                <select id="countrySelection" class="required">
                </select> </p>

               <p><label id="telephoneLabel" for="telephone" class="displayBlockLabel RequiredField">Tel Number </label>
                <input id="telephone" type="tel" name="telephone" class="tel number required" minlength="2" maxlength="12"/></p>    
                <p><label id="emailLabel" for="email" class="displayBlockLabel RequiredField">Email </label>
                <input id="email" type="email" name="email" class="email required" minlength="2" maxlength="100"/></p>                                      
                <p><label id="confirmEmailLabel" for="confirmEmail" class="displayBlockLabel RequiredField">Confirm Email </label>
                <input id="confirmEmail" type="email" name="confirmEmail" class="email required" minlength="5" maxlength="100"/></p>    

                <p><label id="passportNumberLabel" for="passportNumber" class="displayBlockLabel RequiredField">Passport Number </label>
                <input id="passportNumber" type="text" name="passportNumber" class="required" minlength="3" maxlength="20"/></p>        
                <p class="tandcnotice">Please Ensure that you have read the Terms &amp; Conditions and Privacy &amp; security Policy</p>

                <p class="tandcCheckbox">
                <input type="checkbox" name="accepttandc" id="accepttandc" class="checkbox" />
                <label for="checkbox" class="accepttandc">I have read the Terms &amp; Conditions</label>
                <p>

                <input class="button" type="submit" value="Submit" data-role="button" data-theme="redbutton"/>
        </form>
     </div><!-- END OF FORM CONTAINER -->
     </div>
</div>
....

appForm.js

$('#wrapper').live("pageshow", function() {
if ( $('#countrySelection')[0].length < 1){

    $.mobile.loadingMessage = "Retrieving Countries";
    $.mobile.showPageLoadingMsg();

    Repository.load('details/countries/all', function(countries){
        $.each(countries, function() {
            $('#countrySelection').append('<option value="' + this.id + '">' + this.name + '</option>').selectmenu('refresh');
        });
        $.mobile.hidePageLoadingMsg();
    });
}

});


$('#wrapper').live("pagecreate", function() {               

$('#AccountDetailsForm select, #AccountDetailsForm input[type!=submit]').focus(function (){
    focusScroller(this);                                                                                   
});
$('#AccountDetailsForm select, #AccountDetailsForm input[type!=submit]').blur(function (){
    if ( $('#accountFormScrollView').data().scrolllistview._sy < $('#accountFormScrollView').data().scrolllistview._maxY){
         $('#accountFormScrollView').data().scrolllistview.scrollTo(0, $('#accountFormScrollView').data().scrolllistview._maxY, 0);
    }
}); 

});           


$(window).resize(function (){
// Android Resize Event needed for the keyboard
});

var focusScroller = function(formElement){
    $(window).scrollTop(0);
    var elementLabel = "#" + formElement.id + "Label";   
    var offSetPosition = $(elementLabel)[0].offsetTop;
    if(formElement.labels === undefined && formElement.id === "countrySelection"){
        // ios4 quirk for select elements
        offSetPosition = 100; 
    }

    scrollTo(0,0,0);
    $('#accountFormScrollView').data().scrolllistview.scrollTo(0, offSetPosition * -1, 0);
}


$('#wrapper"').live("pageshow", function() {
if (getTfscCardNumber() === ''){
    $('#passportNumberLabel').css('display', 'none');
    $('#passportNumber').css('display', 'none'); 
    $('#passportNumber').attr("disabled", true);
}else{
    $('#passportNumberLabel').css('display', 'block');
    $('#passportNumber').css('display', 'block'); 
    $('#passportNumber').attr("disabled", false);
}

loadForm($('#AccountDetailsForm')[0]);
});

必要に応じてさらにコードを追加できますが、残りのコードは問題ないと確信していますが、他のコードを確認したい場合は、

このエラーは何を意味し、誰もが何が間違っているのかを知ることができますか?

4

1 に答える 1

10

これは、Safari と、type="tel" を使用した入力の処理に関するバグです。私はそれについて心配しません。

私は同じ問題を抱えていましたが、これを見つけました: https://github.com/jquery/jquery-mobile/issues/2341

于 2012-05-09T21:09:37.203 に答える