2012-08-24 13 views
5

सबमिट नहीं करता है मेरे पास यह आईओएस वेब ऐप है, जिसे अजाक्स के माध्यम से एक फॉर्म जमा करने की आवश्यकता है, जो अधिकांश भाग के लिए काम करता है। एकमात्र चीज जो काम नहीं कर रही है वह यह है कि कीबोर्ड पर जाओ बटन प्रतिक्रिया नहीं देता है।आईओएस वेब ऐप जाओ कीबोर्ड बटन अजाक्स फॉर्म

डेस्कटॉप ब्राउज़र पर, सब कुछ प्रस्तुत करने (सबमिट बटन, या कुंजी दर्ज करें)

सफारी iOS पर, सब कुछ ठीक भी काम करता है (सबमिट बटन, GO कुंजीपटल बटन)

लेकिन जब एक के रूप में यह प्रयोग करने के लिए काम करता है आईओएस पर वेब ऐप, जाओ बटन काम नहीं करता है!

इस व्यवहार का कारण क्या हो सकता है? एक iOS वेब एप्लिकेशन को अभी भी सफारी के रूप में तक मुझे पता है का उपयोग करता है ... :)

<form id="myForm" name="form" action="link-to-script.php" method="post"> 
<table> 
    <tr> 
     <td><input id="name" name="name" type="text" size="20" maxlength="25" /></td> 
    </tr> 
    <tr> 
     <td><input id="email" name="email" type="text" size="20" maxlength="50" /></td> 
    </tr> 
    <tr> 
     <td><input type="submit" name="Submit" value="Send" /></td> 
    </tr> 
</table> 

$('#myForm').submit(function(e) { 
    e.preventDefault(); // Doesn't matter 
    var dataString = $(this).serialize(); 
    $.ajax({ 
     type: "POST", 
     url: "http://link-to-script.php?", // Valid link for the use of this form 
     cache: false, 
     data: dataString, 
     success: function() { 

     } 
    }); 
}); 

अद्यतन (हल): मैं preventDefault() फिर से हटा दिया है। यह मुझे बाधा नहीं दे रहा था, लेकिन मुझे असुरक्षित कोड पसंद नहीं है। :)

जब मैंने $('#myForm').submit(function() { के नीचे return false; जोड़ा, तो सबकुछ काम करता था जैसे मैं चाहता था।

आईओएस जाओ बटन, दर्ज करें, और सबमिट बटन सभी अब जवाब दें।

$("#myForm input").live("keyup", function(evt) { 
    if (evt.keyCode === 13) { 
    $("#myForm").trigger("submit"); 
    } 
}); 

उत्तर

3

आप "पूर्ण/प्रवेश" बटन को hooking कोशिश की है। आपके पास एक ही फॉर्म के लिए दो फॉर्म क्रियाएं हैं - एक पूर्ण यूआरएल के बिना फॉर्म एक्शन में, और आपके अजाक्स सबमिशन में दूसरा।

इसके अलावा, आप अपने जेएस के साथ डिफ़ॉल्ट फॉर्म कार्रवाई क्यों रोक रहे हैं?

+0

धन्यवाद, लेकिन अगर मैं कोड जमा करने से पहले उस कोड को रखता हूं, तो इससे कोई फर्क नहीं पड़ता। यह अजीब बात है कि सफारी ऐप के अंदर देखे जाने पर यह काम करता है (यहां तक ​​कि कोड के टुकड़े के बिना), लेकिन जब इसे वेब ऐप के रूप में उपयोग नहीं किया जाता है (होम स्क्रीन में जोड़ा जाता है)। – fishbaitfood

0

रूप में अपने फार्म कार्रवाई के लिए पूर्ण URL प्रदान करें, या जे एस के माध्यम से प्रस्तुत न करें:

4

मुझे पता चला है कि टैग में एक लक्ष्य = "_ खाली" जोड़ना आईओएस कीबोर्ड पर गो बटन को तोड़ देगा।

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