Кнопка поиска работает на симуляторе, но не на устройстве - jQTouch и PhoneGap - PullRequest
0 голосов
/ 16 марта 2011

Я настроил базовую функцию поиска в своем приложении для iPhone.Он работает как на симуляторе, но при использовании приложения на устройстве кнопка поиска ничего не делает при нажатии.Я пробовал множество вещей, чтобы заставить его работать (onsubmit и т. Д.), Но ничего не работает.Кто-нибудь может помочь?

Вот моя функция поиска и форма:

function recipeInfo(name, ingredients, url) {   
this.name = name;  
this.ingredients = ingredients;
this.url = url;
}

var vIngredients = new Array();
vIngredients[0] = new recipeInfo("Ackee Pasta", "ackee", "ackpast.html");
vIngredients[1] = new recipeInfo("Ackee and Saltfish", "ackee saltfish", "acksalt.html");
vIngredients[2] = new recipeInfo("Jerk Chicken", "jerk", "jerkchick.html");

// do the lookup
function getData(form) {
    // make a copy of the text box contents
    var inputText = form.Input.value
    var list = $("#search-results");
    list.empty();
    // loop through all entries of vIngredients array
    for (var i = 0; i < vIngredients.length; i++) {
        // compare results
        if (vIngredients[i].ingredients.indexOf(inputText) != -1) {
        var found = true;
        console.log(vIngredients[i].name);
        //add to the list the search result plus list item tags
        list.append (
        $("<li class='arrow'><a href='#' >" + vIngredients[i].name + "</a></li>" )
        );
        }
    }
}
</script>

<form id="search" action="" onsubmit="getData(this.form);">
    <ul class="rounded">
        <li><input type="search" name="Input" placeholder="Search..." onkeydown="if (event.keyCode == 13) getData(this.form)"></li>
    </ul>
    <ul class="edgetoedge" id="results">
        <li class="sep">Results</li>
    </ul>
        <ul class="edgetoedge" id="search-results">
    </ul>
</form>

Следует отметить, что единственная причина, по которой он работает на симуляторе, заключается в: onkeydown = "if (event.keyCode == 13) getData (this.form) "Удаление, которое перестанет работать в симуляторе.

1 Ответ

1 голос
/ 16 марта 2011

Apple «исправила» это в iOS 4.2. Чтобы форма получала события отправки, должен быть входной тег с type = "submit".

...