2017-09-26 15 views
1

私は最近ウェブページをデザインしました。私はウェブ開発者ではないので、さまざまな場所から断片とビットを収集し、ちょっとしたものを縫い合わせました。ボタンはiphoneのサファリで動作しません

今、このページは完全に設計されており、Firefox、Chrome、IEで動作します。

しかし、Safariでは動作しません。ここで

はコードです:

具体的
<!DOCTYPE html> 
<html lang="en-US"> 

<head> 
<meta name="referrer" content="origin"> 
<script> 
    var counter = 0; 
    var limit = 50; 

    function addInput(divName, arrName){ 
     if (counter == limit) { 
       alert("You have reached the limit of adding " + counter + " inputs"); 
     } 
     else { 
       var newdiv = document.createElement('div'); 
       newdiv.innerHTML = "<input type='text' name='" + arrName + "[]' required>"; 
       document.getElementById(divName).appendChild(newdiv); 
       counter++; 
     } 
    } 

</script> 

<style> 
    html * 
    { 
     color: #000 !important; 
     font-family: Arial !important; 
    } 

.wrapper 
    { 
     height: 100%; 
     width: 100%; 
     display: flex; 
     overflow:auto; 

    } 

    .window 
    { 
     width: 100%; 
     min-height: 200px; 
     display: flex; 
     flex-direction: column-reverse; 
     float: none; 
     align-items: center; 
     justify-content: center; 

    } 

    .windowContent 
    { 

    } 

input[type=text], select { 
    width: 150%; 
    padding: 6px 10px; 
    margin: 4px 20px; 
    border: 1px solid #ccc; 
    border-radius: 4px; 
    box-sizing: border-box; 
} 

input[type=submit] { 
    width: 80%; 
    background-color: #4CAF50; 
    color: white; 
    padding: 14px 20px; 
    margin: 8px 0; 
    border: none; 
    border-radius: 4px; 
    cursor: pointer; 
} 
input[type=button]{ 
    width: 50%; 
    background-color: #9CAFFF; 
    color: white; 
    padding: 6px 5px; 
    border: none; 
    border-radius: 4px; 
    cursor: pointer; 
} 

input[type=submit]:hover { 
    background-color: #45a049; 
} 

div { 
    border-radius: 5px; 
    background-color: #f2f2f2; 
    padding: 0px; 
    float: left; 
    width: 75%; 
    margin: 5px; 
    margin-left: 0.5cm; 
} 

.floating-box { 
    float: left; 
    width: 100%; 
    margin: 5px; 
    margin-left: 0.5cm; 
    border: 3px solid #73AD21; 
} 


</style> 
</head> 

<body onload="GenerateEmotion()"> 
<div class="wrapper"> 
    <div class="window"> 
     <div class="windowContent"> 
      <form method="POST" action="http://formspree.io/[email protected]" align="center"> 
       <div id = "dynamicInputHolder"> 
        <div id="dynamicInput_1"> 
         Emotion: <input type="text" value="" name="myInputs_1[]" id="emotion" disabled> 
          <div class="floating-box">Its John and Sally's wedding day! John and Sally are getting ready wedding ceremony will begin in an hour. Sally is little nervous.</div> 
        </div> 
        <input type="button" value="Add connecting sentences" onClick="addInput('dynamicInput_1', 'myInputs_1');"> 
       </div> 

       <div id = "dynamicInputHolder"> 
        <div id="dynamicInput_2"> 
          <div class="floating-box">Sally heard a knock on the door.</div> 
        </div> 
        <input type="button" value="Add connecting sentences" onClick="addInput('dynamicInput_2', 'myInputs_2');"> 
       </div> 

       <div id = "dynamicInputHolder"> 
        <div id="dynamicInput_3"> 
          <div class="floating-box">Her heartbeat fast, Sally began to walk down the aisle.</div> 
        </div> 
        <input type="button" value="Add connecting sentences" onClick="addInput('dynamicInput_3', 'myInputs_3');"> 
       </div> 

       <br> 
       <input type="submit" value="I have completed a story"> 
      </form> 
      <script> 
       function GenerateEmotion(){ 
        var emotion = ""; 
        var raw = Math.random(); 
        var final = Math.ceil(raw * 4); 
        if (final == 1) 
         document.getElementById("emotion").value = "Happy"; 
        else if (final == 2) 
         document.getElementById("emotion").value = "Sad"; 
        else if (final == 3) 
         document.getElementById("emotion").value = "Angry"; 
        else if (final == 4) 
         document.getElementById("emotion").value = "Surprise"; 
       } 
      </script> 

     </div> 
    </div> 

    <div class="window"> 
     <div class="windowContent"> 
      <p><font size="6"><b>Emotionalize it!</b></font></p> 
      <p><font size="3">We are trying to develop computer programs that can understand common emotions, so they can communicate better with human users.</font></p> 
      <p><font size="5"><b> Rules of the game </b></font></p> 


      <font size="3"> 
      <p>Imagine you are a narrator. Today, you are narrating a story of John and Sally's wedding.</p> 
      <p>Your goal is to make your audience experience the emotion written on the left top. </p> 
      <p>We are helping you to maintain the flow, you just need to connect the dots!</p> 
      <p>As your story will be fed to a giant computer program, so can you:</p> 
      <ul> 
       <li>Please use simple language. Do NOT use compound, complex, or conditional sentences</li> 
       <li>Please do not use pronouns. Use the name - John instead of 'him'</li> 
       <li>Please use the past tense and active voice.</li> 
       <li>Please make sure to include events from the beginning to the end.</li> 
       <li>You want more characters? If yes, Please use David(male) and Amy(female)</li> 
       <li>You can use the also include character based actions, e.g. 'A waiter ...'</li> 
       <li>Your audiance should experience the said emotion</li> 
      </ul> 
      </font> 
     </div> 
    </div> 
</div> 

</body> 

</html> 

、どのような動作しません:

  1. ボタンクリック

を提出し「新しい文章の追加]をに任意のはありますエラー:いいえ、ボタンをタップしても何も起こりません。

私はを探しています何:あなたのWeb開発者たちは、それはSafariで動作しない理由、それは大きな助けになります把握することができた場合

  1. 機能を変更する方法は同じですが、機能は同じですが、サファリで動作します
  2. 私はすでにこの質問をしています。スクロールバーを一番下に固定する方法を知っていますか?

PS_1:私はサファリを言うとき、私はあなたを行いiPhone

+0

[mcve]を作成して、ページ全体を質問にダンプするだけでなく、 – Quentin

+1

あなたのHTMLに機械で検出可能なエラーがいくつかあります。 [バリデーター](https://validator.nu)を使用してください。 – Quentin

答えて

1

"dynamicInput_1" のdivの外に "エモーション" 入力テキストボックスを移動してみてください。代わりにそう、:

 <form method="POST" action="http://formspree.io/[email protected]" align="center"> 
      <div id = "dynamicInputHolder"> 
       <div id="dynamicInput_1"> 
        Emotion: <input type="text" value="" name="myInputs_1[]" id="emotion" disabled> 
         <div class="floating-box">Its John and Sally's wedding day! John and Sally are getting ready wedding ceremony will begin in an hour. Sally is little nervous.</div> 
       </div> 
       <input type="button" value="Add connecting sentences" onClick="addInput('dynamicInput_1', 'myInputs_1');"> 
      </div> 

試してみてください。

また
 <form method="POST" action="http://formspree.io/[email protected]" align="center"> 
      <div id = "dynamicInputHolder"> 
      Emotion: <input type="text" value="" name="myInputs_1[]" id="emotion" disabled> 
       <div id="dynamicInput_1"> 
         <div class="floating-box">Its John and Sally's wedding day! John and Sally are getting ready wedding ceremony will begin in an hour. Sally is little nervous.</div> 
       </div> 
       <input type="button" value="Add connecting sentences" onClick="addInput('dynamicInput_1', 'myInputs_1');"> 
      </div> 

、idとクラスの使用のこの説明を見てみましょう:div class vs id あなたが同じIDを使用して、いくつかのdivを持っています。 IDは一意でなければなりません。

スクロールバーを一番下に固定するのはどういう意味なのでしょうか、私はその質問に対処していません。

+0

おかげさまで、ありがとうございました! – Adorn

0

の1を意味する:あなたは、このコードを貼り付けるコピーのように感じていない場合は、それが働いた状態でhere

PS_2ですSafariでjavascriptをオンにしましたか?

デスクトップ:https://support.ezimerchant.com/hc/en-us/articles/200836150-How-do-I-enable-cookies-and-JavaScript-in-Safari-Mac-

モバイル:https://www.whatismybrowser.com/guides/how-to-enable-javascript/safari-iphone-ipod

+0

私はそれがすでに有効になっていることを確認しましたが、まだ動作しません – Adorn

関連する問題