【问题标题】:Trigger.io html fails for iPhone but same code works for android nexus 1Trigger.io html 对 iPhone 失败,但相同的代码适用于 android nexus 1
【发布时间】:2013-08-18 06:48:15
【问题描述】:

我已经创建了一个简化版本的问题,看看是否可以解决它,当然还尝试了许多论坛搜索,不幸的是,他们似乎都没有一个有效的解决方案。

问题是表单无法从 iPhone 3Gs v5.0.1 提交(尚未在任何其他 iphone 上测试),总是打开一个单独的窗口,但似乎没有数据传递到 php 表单。

我已经包含了我的代码,以及一个能够查看您提交的数据的链接。我真的很想知道是否有其他人能够从他们的机器人而不是 iPhone 提交?

    <!DOCTYPE html>
<html lang="en">
    <head>
        <meta charset="utf-8">
        <script src="js/jquery-2.0.2.js"></script>
        <script src="js/bootstrap.js"></script>
        <script src="js/main.js"></script>
        <link href="css/bootstrap.css" rel="stylesheet">
        <style type="text/css">
            .container-narrow {
                margin: 0 auto;
                max-width: 700px;
                padding: 20px;
            }
            .container-narrow > hr {
                margin: 30px 0;
            }

            .jumbotron {
                margin: 60px 0;
                text-align: center;
            }
            .jumbotron h1 {
                font-size: 50px;
                line-height: 1;
            }

            p {
                font-size: 1.2em;
            }
        </style>
    </head>
    <body>
            <form target = "_blank" name="rating" action="http://www.stopandsearch.org/simpleupload.php" method="post" >    
            comment: <input type="text" name="comment">
            <input type="submit" value="Submit">
            </form>
    </body>
</html>

通过上面的代码提交后,您可以看到一个链接来查看失败的上传(作为空格)。

如果有人能告诉我他们是否也遇到关于 iPhone 失败但 android 成功的相同问题,我将非常感激,当然,如果有人知道解决方案,那我会欣喜若狂!

我已经尝试了很多论坛,虽然他们似乎有同样的问题,但他们的解决方案并不完全奏效。

对此的任何建议都会有所帮助...

【问题讨论】:

    标签: html iphone forms submit trigger.io


    【解决方案1】:

    我认为 iOS 限制您将数据从应用程序发布到外部网页,因此我建议使用 forge.request.ajax 方法(您需要启用请求模块)。

    然后你可以这样做:

    <form id="comment" onsubmit="return false;">    
    comment: <input type="text" name="comment">
    <input type="button" value="Submit" onclick="send_data();">
    </form>
    
    <script type="text/javascript">
    function send_data() {
      var comment = $('input[name="comment"]').val();
      if ( comment ) {
        forge.request.ajax({
          type: 'POST',
          url: 'http://www.stopandsearch.org/simpleupload.php',
          data: { 'comment': comment },
          dataType: 'text',
          success: function(data) {
            $('#comment').html( data );
          },
          error: function(error) {
            alert('Failed to save comment');
          }
        });
      }
    }
    </script>
    

    此代码将通过 ajax 提交评论,因此用户不会被重定向到 Safari,如果成功,服务器的响应将替换表单。您会看到您的评论也将成功出现在comments page。

    【讨论】:

    • 工作得很好!谢谢!!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-10-01
    • 2022-11-21
    • 1970-01-01
    • 1970-01-01
    • 2020-11-27
    相关资源
    最近更新 更多