2015-10-22 11 views
9

यह प्रश्न आईओएस वेब देव के बारे में है।कुंजीपटल फ़ंक्शन चलाते समय आईओएस कीबोर्ड खोलें

मेरे पास एक ऐसा फ़ंक्शन है जिसे "खोज" इनपुट फ़ील्ड में एक कीप श्रोता द्वारा निकाल दिया जाता है। यह डेस्कटॉप, लैपटॉप, सैमसंग गैलेक्सी फोन और सोनी एक्सपीरिया पर पूरी तरह से काम करता है लेकिन आईफोन या आईपैड में नहीं। जब भी फ़ंक्शन चलता है, तो सॉफ्ट कीबोर्ड बंद हो जाता है। एक संभावित फिक्स मैंने सोचा था कि इनपुट id='newsearch' पर फ़ंक्शन की अंतिम पंक्ति के रूप में 0 था, लेकिन ऐसा कुछ भी प्रतीत नहीं होता था।

क्या कोई जानता है कि आईओएस में फ़ंक्शन चल रहा है, जबकि कीबोर्ड को कैसे खोलना है?

लाइनों कि समारोह को गति प्रदान:

नीचे 3 कोड के टुकड़े देखें

<tr><td colspan='3'>Search <input type='text' autofocus id='newsearch'></input></td> 

    <h2>Search Results</h2> 
    <div id="newsearch-data"> </div> 

<script src="http://code.jquery.com/jquery-1.8.0.min.js"> </script> 
<script src="addplayer.js"> </script> 

समारोह में ही: addplayer.js

$('input#newsearch').on('keyup', function(){ 
    var newsearch = $('input#newsearch').val(); 
    if ($.trim(newsearch)!= "") { 
     $.post('newsearch.php', {newsearch: newsearch}, function(data) { 
      $('div#newsearch-data').html(data); 
     }); 
    } 
}); 
      document.getElementById("newsearch").focus(); 

php फ़ाइल फ़ंक्शन का संदर्भ है: नया खोज। PHP

if (isset($_POST['newsearch']) && $_POST['newsearch'] != NULL){ 
    require 'dbconnect.php'; 

    $term = $_POST['newsearch']; 
    $terms = "%" . $term . "%"; 

    $_SESSION['players'] = array(); 

    $query = ("SELECT * FROM players WHERE Username LIKE '$terms' OR Phonenumber LIKE '$terms' OR PlayerID LIKE '$terms'"); 
    $run_query = mysqli_query($dbcon, $query); 

     echo "<table border='1px'><tr><th>Player ID</th><th>Name</th><th>Action</th></tr>"; 

      while ($dbsearch = mysqli_fetch_assoc($run_query)) 
      { 
       $dbu = $dbsearch['Username']; 
       $id = $dbsearch['PlayerID']; 
       $func = "add(" . $id . ", Brad Henry)"; 
      array_push ($_SESSION['players'],$dbsearch['PlayerID']); 
      echo "<tr><td>".$id ."</td><td>".$dbu."</td><td><input type=\"submit\" id=\"PlayerAdded".$id."\" autofocus value=\"Add\" onclick=\"add('".$id."','".$dbu."');\"></input></td></tr>"; 
      } 
+0

आईओएस का कौन सा संस्करण आप चल रहे हैं? जब मैं आईओएस 8 में इस पेज को खोलता हूं तो मेरे लिए ठीक काम करता है। Http://codepen.io/hampusohlsson/pen/mejMpw – hampusohlsson

+0

@hamohl मैं आईओएस 9 पर हूं, लेकिन यह विभिन्न आईओएस उपकरणों पर परीक्षण किया जा रहा है। यह खोज चला रहा है, लेकिन कुंजीपटल पहली कुंजीपटल के बाद लगभग आधा सेकंड बंद हो जाता है, इसलिए 15 या उससे अधिक अक्षरों वाले नाम को खोजते समय यह कीबोर्ड को 5-7 बार बंद कर देता है और उपयोगकर्ता को प्रत्येक बार खोज इनपुट को अचयनित करना पड़ता है। आप किस डिवाइस का उपयोग कर रहे हैं? – Tunna182

+0

मैं आईफोन 5 एस आईओएस 8 का उपयोग कर रहा हूं। आप टाइपिंग समाप्त होने से पहले कई अनुरोध भेजने से रोकने के लिए टाइमआउट का उपयोग करने का प्रयास कर सकते हैं, कम से कम यह देखने के लिए कि यह मदद करता है या नहीं। ऊपर अपडेटेड कलम देखें :) – hampusohlsson

उत्तर

0

मुझे विश्वास नहीं है कि मुझे यह महसूस करने में इतना लंबा लगा। Newsearch.php में अंतिम 'echo' में जोड़ें बटन पर autofocus विशेषता है .... मैंने इसे हटा दिया और अब यह काम करता है।

0

फ़ील्ड पर फ़ोकस सेट करने का प्रयास करें।

$('input#newsearch').on('keyup', function(){ 
    var field = $(this); 
    var newsearch = field.val(); 
    if ($.trim(newsearch)!= "") { 
     $.post('newsearch.php', {newsearch: newsearch}, function(data) { 
      $('div#newsearch-data').html(data); 
      field.focus(); 
     }); 
    } 
}); 
+0

मैं वास्तव में सुझाव की सराहना करता हूं, लेकिन मैंने अभी इसका परीक्षण किया और यह ईमानदार होने में कोई फर्क नहीं पड़ता। – Tunna182

संबंधित मुद्दे