2016-10-03 9 views
-1

私は、フォームを作成し、次のコード(JSBin)を持っている:「ファイルを選択し、」置き換えテキストバー

<form class="form" method="post" action="upload.php"> 
    <div class="form-group email"> 
     <!-- <label class="sr-only" for="email">Email</label> --> 
     <input name="f_email" id="email" type="email" class="form-control" placeholder="Email:"> 
    </div> 
    <div class="form-group file"> 
     <!-- <label class="sr-only" for="file">File</label> --> 
     <input name="file" id="file" type="file" class="form-control" placeholder="Click to choose file:"> 
    </div> 
    <button type="submit">Upload</button> 
    </form> 

は今、私はChoose fileEmailのスタイルを適用したい:私はしたくありませんChoose fileボタンを参照してください。テキストバーにClick to choose file:(テキストバーにはEmail:と入力されている)が埋め込まれています。

私は

<input name="file" id="file" type="file" class="form-control" style="visibility: hidden; display: none;" placeholder="Click to choose file:"> 

または

<input name="file" id="file" type="file" class="form-control" style="position: relative; top: -1000px;" placeholder="Click to choose file:"> 

を試してみました。しかし、彼らの両方がfile行を削除しました。

(ファイルブラウザを起動するための)onclickイベントと(バーに選択したファイル名を表示するための)変更イベントを追加しますが、その前に誰かが上記のようにバーを表示する方法を知っていますか?

さらに、電子メールバーとファイルバーを同じ行に表示する方法を知っている人はいますか?

更新1:Bootstrap FileStyleを知っておいてよかったです。しかし、onclickイベントは現場では無効になっているようです。例を次に示します。JSBin

+0

は、[この質問](http://stackoverflow.com/questions/1944267/how-to-change-the-button-text-ofは異なる。これは、 -input-type-file)? – fakedad

+0

これは代替ですが、私はまだボタンを見たくないので、onclickイベントが無効になっているようです。私の更新を見てください... – SoftTimur

答えて

1

入力用にlabelを作成できます。こうすると、ラベルをクリックすると入力がフォーカスされます。デモは、以下を参照してください:

.fakeInput { 
 
    border: 1px solid #9199a1; 
 
    color: #9199a1; 
 
    padding: 1px; 
 
    margin: 2px; 
 
    font-size: 13.3333px; 
 
    font-family: "Arial"; 
 
    text-transform: none; 
 
    letter-spacing: normal; 
 
    text-align: start; 
 
    width: 180px; 
 
}
<div class="form-group email"> 
 
     <!-- <label class="sr-only" for="email">Email</label> --> 
 
     <input name="f_email" id="email" type="email" class="form-control" placeholder="Email:"> 
 
    </div> 
 
    <div class="form-group file"> 
 
     <input name="file" id="file" type="file" class="form-control" style="visibility: hidden; display: none;"> 
 
     <label for="file" class="fakeInput">Click to choose file:</label> 
 
    </div>

+0

しかし、事は私がテキスト/ラベルを表示したくありません... – SoftTimur

+0

あなたはそれを電子メール(テキスト)入力のようにしたいですか? –

+0

私は 'ファイル選択 'ボタンを見たくないので、'ファイルを選択するためにクリックしてください'というテキストバーを見たいと思っています(テキストバーは 'Email:'で埋められています) – SoftTimur

関連する問題