2012-10-12 26 views
14

Jest to prawdopodobnie proste, ale nie wiem, jak to zrobić. Obecnie z tym kodem przycisk "znajdź" znajduje się w wierszu pod polem wejściowym "lokalizacja". Jak sprawić, by działał w tym samym wierszu po prawej, jak większość pól wyszukiwania?Wprowadź dane wejściowe w tym samym wierszu, co pole wejściowe

HTML

<div class="fieldwrapper"> 
<input id="field_location" class="field r2" placeholder="Town, City or Postcode" id="Postcode" name="Postcode" type="text" value=""><input type="submit" id="findbutton" value="Find" /> 
</div> 

CSS

field { font-family:arial, sans-serif; border-color: #d9d9d9; border-top:solid 1px #c0c0c0; } 
input.field{width:100%} 

link http://jsfiddle.net/VL3Dj/

+0

byłoby wspaniale, gdyby można umieścić ten kod w http://jsbin.com lub http: //jsfiddle.net, dzięki czemu inni mogą zacząć naprawiać swój kod na miejscu –

+1

OK! http://jsfiddle.net/VL3Dj/ –

Odpowiedz

44

Jeśli chcesz, aby pole tekstowe być 100% width oraz przycisk Poza tym można to zrobić tak: My Fiddle

<input type="submit"value="Find" style="float: right" /> 
<div style="overflow: hidden; padding-right: .5em;"> 
    <input type="text" style="width: 100%;" /> 
</div>​ 
+1

Oto odpowiedź, której szukam. Dziękuję Ci. Nie mogę jednak oznaczyć odpowiedzi na 5 minut. –

+0

@JamesWillson Serdecznie witamy :) –

+4

Walczę z tym od lat. Czy ktoś może wyjaśnić, dlaczego przepełnienie: ukryty sprawia, że ​​działa i dlaczego nie działa bez niego? –

1

To dlatego, że pole wprowadzania jest ustawiony na 100% szerokości, nie pozostawiając miejsca dla butto n obok niego.

Oto aa ustalona wersja: http://jsfiddle.net/ThfES/1/

+1

Domyślam się, że potrzebuje pola tekstowego 100% –

+0

@Alien Może tak - moje to tylko jedna z dziesiątek możliwych propozycji. Jeśli preferuje twoje rozwiązanie, jestem pewien, że oznaczy to jako odpowiedź. –

+0

Tak, chcę pole tekstowe w 100%, przepraszam. –

3

...... ...... Demo

Hi teraz dodać css

.fieldwrapper{ 
white-space: nowrap; 
} 

Live demo

0

Trzeba float elementów blokowych więc pojawiają się one side-by-side, że tak powiem. inline Elementy takie jak <a> i <span> robią to domyślnie. Dowiedz się więcej o modelu CSS Box.

Twoje rozwiązanie: http://jsfiddle.net/HBJtT/

EDIT: Utrzymanie input boiska 100% szerokości.

Potencjalne rozwiązanie: http://jsfiddle.net/3TZL8/

nie popieram to rozwiązanie jednak, jeśli motywacja do utrzymania pola tekstu wejściowego 100% szeroka jest tak, że przycisk i wygląd pola „płynnie razem”, należy użyć siatkę lub ramy interfejsu użytkownika. Lubię ram fundamentowych możliwe rozwiązanie można zobaczyć tutaj: http://foundation.zurb.com/docs/forms.php (Przewiń w dół do „Input o działaniu postfix” przykład)

+0

To jednak nie działa z polem o szerokości 100%: http://jsfiddle.net/HBJtT/5/ –

+0

Proszę zobaczyć edycję. Nie wiem, dlaczego chcesz, aby element wejściowy był w 100% szeroki, czy możesz go dopracować? Dzięki. –

0

spróbuj wykonać, szerokość: 50%

input.field{width:50%}​ 
0

można zrobić coś takiego ten (pracował w moim przypadku):

<div style="width:150px"><p>Start: <input type="text" id="your_id"></p> 
    </div> 

<div style="width:130px;margin-left: 160px;margin-top: -52px"> 
<a href="#" data-role="button" data-mini="true">Button</a> 
</div> 

Oto demo: http://jsfiddle.net/gn3qx6w6/1/

1

trzeba tylko wiedzieć, szerokość przycisku do jego pracy.Wtedy zasadniczo dajesz wejście pełnej szerokości, a pozycję absolutną przycisk po prawej. Wyściółka jest więc tekst nie siedzi za pomocą przycisku:

<form method="post" action=""> 
     <input type="text" name="search-str" id="search-str" value=""/> 
     <button type="submit">Submit</button> 
    </form> 

chodzi o CSS:

form { 
    position: relative; 
} 

input { 
    width: 100%; 
    padding-right: 40px; 
} 

button { 
    width: 40px; 
    position: absolute; 
    top: 0; 
    right: 0; 
} 
Powiązane problemy