2017-04-08 7 views
0

が示されていませんか?ヒントが必要な分野についてのヒントを「削除」のコードのどの部分

https://jsfiddle.net/venntr/qegxnjm2/

<div class="switch-field"> 
        <input type="radio" id="onlinetak" name="online" required/> 
        <label for="onlinetak">Online</label> 
        <input type="radio" id="onlinenie" name="online" required /> 
        <label for="onlinenie">Offline</label> 
       </div> 
+2

(http://stackoverflow.com/questions/17966390/html5-required-attribute-seems- [HTML5必要な属性が機能していないようです]の可能性のある重複 –

+0

CSSを削除するときだけ、CSSの削除ヒントに表示されるもの:https://jsfiddle.net/venntr/qegxnjm2/2/ – Wiskoza

答えて

1

あなたのコードは、あなたのrequiredが動作するためには、フォームにする必要があります。

コード:

<!DOCTYPE html> 
<html> 
<head> 
    <title></title> 
</head> 
<body> 
    <div class="switch-field"> 
     <form> 
      <input id="onlinetak" name="online" type="radio"> <label for="onlinetak">Online</label> <input id="onlinenie" name="online" type="radio"> <label for="onlinenie">Offline</label> <button type="submit">Submit</button> 
     </form> 
    </div> 
</body> 
</html> 

Jsfiddle - 修正するhttps://jsfiddle.net/qegxnjm2/1/

+0

このコードでは、「オプションを選択」ポップアップが表示されません。 –

+0

@SheaBelsky、彼の質問は「コードのどの部分が「必須フィールドについてのヒントを削除しましたか」?いいえ、彼はどこでオプションを選ぶか尋ねません。 –

+0

それは 'form'タグにないことはその一部ですが、ポップアップはまだそれが' form'の内側にいても、表示されません。それは彼が入力に 'display:none'をセットすることと関係しています。私は今答えを書いています。 –

2

最初の事はレオンで指摘されたとして、それは、formタグではないということです。何が起こっている

は、あなたのCSSを選択することが、あなたのHTMLのラベルではなく、あなたのラジオの入力をスタイリングしていることです。入力がdisplay: noneに設定されているため、入力がないという関連エラーは表示されません。入力がない場合にエラーが正しく表示されるように、入力を表示し、入力自体のスタイリングを編集する必要があります。

編集:ここで私が言ったことで動作するコードの例です。

body { 
 
    background-color: #F7FCFF; 
 
    
 
} 
 
.QA radio { 
 
    -webkit-appearance: none; 
 
    background-color: #e1e1e1; 
 
    border: 4px solid #e1e1e1; 
 
    border-radius: 10px; 
 
    width: 100%; 
 
    display: inline-block; 
 
    position: relative; 
 
    width: 20px; 
 
    height: 20px; 
 
    
 
    
 
} 
 
.QA radio:checked { 
 
    background: grey; 
 
    border: 4px solid #e1e1e1; 
 
} 
 

 
input[type=text], textarea { 
 
    -webkit-transition: all 0.30s ease-in-out; 
 
    -moz-transition: all 0.30s ease-in-out; 
 
    -ms-transition: all 0.30s ease-in-out; 
 
    -o-transition: all 0.30s ease-in-out; 
 
    outline: none; 
 
    padding: 3px 0px 3px 3px; 
 
    margin: 5px 1px 3px 0px; 
 
    border: 1px solid #DDDDDD; 
 
} 
 
    
 
input[type=text]:focus, textarea:focus { 
 
    box-shadow: 0 0 5px rgba(81, 203, 238, 1); 
 
    padding: 3px 0px 3px 3px; 
 
    margin: 5px 1px 3px 0px; 
 
    border: 1px solid rgba(81, 203, 238, 1);   
 
} 
 

 
.QA { 
 
    font: normal normal 14px/1 Helvetica; 
 
    margin: 1px; 
 
    border-radius:10px; 
 
    text-align:center; 
 
} 
 

 
.QA1 { 
 
    font: normal normal 14px/1 Helvetica; 
 
    border-radius:10px; 
 
    text-align:left; 
 
} 
 

 
.QA h2{ 
 
    font: normal normal 16px/1 Helvetica;  
 
    font-weight: bold; 
 
    color:#004E97; 
 
} 
 

 
.QA button{ 
 
    text-align:center; 
 
    width: auto; 
 
    background: #E2F4FE; 
 
    font-weight: bold; 
 
    font-size: 14px; 
 
    text-shadow: none; 
 
    color: rgba(0, 0, 0, 0.6); 
 
    border: 1px solid rgba(0, 0, 0, 0.2); 
 
    border-radius: 5px; 
 
    cursor: pointer; 
 
    padding: 6px 14px; 
 
    margin: 2px; 
 
    outline: 0; 
 
     -webkit-transition: all 0.3s ease-in-out; 
 
    -moz-transition: all 0.3s ease-in-out; 
 
    -ms-transition:  all 0.3s ease-in-out; 
 
    -o-transition:  all 0.3s ease-in-out; 
 
    transition:   all 0.3s ease-in-out; 
 
} 
 

 
.QA1 button{ 
 
    text-align:left; 
 
    width: auto; 
 
    background: #E2F4FE; 
 
    font-weight: bold; 
 
    font-size: 14px; 
 
    text-shadow: none; 
 
    color: rgba(0, 0, 0, 0.6); 
 
    border: 1px solid rgba(0, 0, 0, 0.2); 
 
    border-radius: 5px; 
 
    cursor: pointer; 
 
    padding: 6px 14px; 
 
    margin: 2px; 
 
    outline: 0; 
 
     -webkit-transition: all 0.3s ease-in-out; 
 
    -moz-transition: all 0.3s ease-in-out; 
 
    -ms-transition:  all 0.3s ease-in-out; 
 
    -o-transition:  all 0.3s ease-in-out; 
 
    transition:   all 0.3s ease-in-out; 
 
} 
 

 

 
.QA button:hover{ 
 
    box-shadow: 0 0 0 2px white, 0 0 0 3px #27AE60; background: #C1EEFE; 
 
} 
 

 
.QA1 button:hover{ 
 
    box-shadow: 0 0 0 2px white, 0 0 0 3px #27AE60; background: #C1EEFE; 
 
} 
 

 

 
textarea { 
 
background-color: #FFFFFF;  
 
} 
 

 
.index { 
 
z-index: 55;  
 
} 
 

 

 
.switch-field { 
 
    font-family: Helvetica; 
 
    padding: 10px; 
 
    overflow: hidden; 
 
    font-size:0px; 
 
} 
 

 
.switch-title { 
 
    margin-bottom: 6px; 
 
} 
 

 
.switch-field .input-field { 
 
    text-align:center; 
 
    display: inline; 
 
    width: auto; 
 
    background-color: #F2F0F0; 
 
    color: rgba(0, 0, 0, 0.6); 
 
    font-size: 14px; 
 
    font-weight: bold; 
 
    text-shadow: none; 
 
    padding: 6px 14px; 
 
    border: 1px solid rgba(0, 0, 0, 0.2); 
 
    -webkit-box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.3), 0 1px rgba(255, 255, 255, 0.1); 
 
    box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.3), 0 1px rgba(255, 255, 255, 0.1); 
 
    -webkit-transition: all 0.3s ease-in-out; 
 
    -moz-transition: all 0.3s ease-in-out; 
 
    -ms-transition:  all 0.3s ease-in-out; 
 
    -o-transition:  all 0.3s ease-in-out; 
 
    transition:   all 0.3s ease-in-out; 
 
} 
 

 
.switch-field label:hover { 
 
    cursor: pointer; 
 
} 
 

 
.switch-field input:checked + label { 
 
    background-color: #5EA8EE; 
 
    -webkit-box-shadow: none; 
 
    box-shadow: none; 
 
} 
 

 
.switch-field .input-field:first-of-type { 
 
    border-radius: 4px 0 0 4px; 
 
} 
 

 
.switch-field .input-field:last-of-type { 
 
    border-radius: 0 4px 4px 0; 
 
} 
 

 
#onlinetak:checked + label:first-of-type { background-color:#5EA8EE; } 
 
#onlinenie:checked + label:last-of-type { background-color:#EE5B5B; }
<form> 
 
    <div class="switch-field"> 
 
    <div class="input-field"> 
 
     <input type="radio" id="onlinetak" name="online" required/> 
 
     <label for="onlinetak">Online</label> 
 
    </div> 
 
    <div class="input-field"> 
 
    <input type="radio" id="onlinenie" name="online" required/> 
 
    <label for="onlinenie">Offline</label> 
 
    </div> 
 
    </div> 
 
    <button type="submit">Submit</button> 
 
</form>

EDIT 2:それをやって別の(確かにハック)の方法は、彼らが自分たちのラベルの内側にあることを表示されないように、入力そのものに否定的z-indexを設定することです。エラーが依然として入力グループの近くに示しているが、入力が(display: noneに設定されていない)ラベル「下」であるので、入力は、エラーが表示されます。

.switch-field input { 
    position: absolute; 
    z-index: -10000; 
} 
+0

入力の編集方法は? – Wiskoza

+0

もう少し複雑です。 'input'と' label'の両方を表示する必要があるので、両方をコンテナに入れることをお勧めします。私は私の答えに例を加えました。私はそれをあなたの元のフィドルにできるだけ近くなるように今作ろうとしています。 –

+0

ちょうどあなたが望むものである2番目の例を追加しました。 –

0

enter code here オンライン オフライン

関連する問題