die Eingabe ändern Größe abhängig von der option ausgewählt

Ich habe gesehen, ähnliche Fragen veröffentlicht und versucht, Sie zu ändern, zu erfüllen meine Bedürfnisse, aber ich weiß nicht genug über javascript, es zu tun. Alles was ich tun möchte ist die limit-form-input auf 2 Zeichen, wenn Sie wählen Sie "Staat" als Suchoption. Dies ist, was ich habe:

function changeValue(){
var option=document.getElementById('searchtype').id;

if (option == ("A") || ("B") ){
document.getElementById('field').size="40";
}
else if(option=="C"){
document.getElementById('field').size="2";


<form action="results.php" method="post">
Search By:<br />
<select id="searchtype" name="searchtype" onchange="changeValue();">
<option id="A" value="name">Hospital Name<br /></option>
<option id="B" value="city">City</option>
<option id="C" value="state">State</option>
</select>
<br /><br />
Search:<br />
<input id="field" name="searchterm" type="text" size="0">

Mache ich etwas falsch oder gibt es einen besseren Weg, dies zu tun?

Ich benutzt Jack den code unten und fügte hinzu, ein Feld.size-Attribut, so dass meine Eingabe übereinstimmen, wird die max erlaubte Zeichen: (danke Jack)

script type="text/javascript">
function changeValue(dropdown) {
var option = dropdown.options[dropdown.selectedIndex].value,
field = document.getElementById('field');

if (option == 'name' || option == 'city') {
    field.maxLength = 40;
            field.size = 40;
} else if (option == 'state') {
    field.value = field.value.substr(0, 2); 
    field.maxLength = 2;
            field.size = 2;
}
}       
</script>

            <h1>Hospital Search</h1>
    <form action="results.php" method="post">
    Search By:<br />
    <select id="searchtype" name="searchtype" onchange="changeValue(this);">
    <option id="name" value="name">Hospital Name<br /></option>
    <option id="city" value="city">City</option>
    <option id="state" value="state">State</option>
    </select><br />
    Search:<br />
    <input id="field" name="field" type="text" size="40">
    </input>

Nachdem Sie entschieden haben, ein dropdown mit einer Liste von Staaten besser wäre, änderte ich es zu diesem:

<form action="results.php" method="post">
      Hospital Name:<br />
      <input name="searchterm_name" type="text" size="40">
      <br />
      <input type="submit" name="submit" value="Search">
      </form><br />
        <form action="results.php" method="get">
        City Name:<br />
        <input name="searchterm_city" type="text" size="40"><br />
        <select name="select_state">
        <option value="">None
        <option value="AL" Selected>Alabama
        <option value="AK">Alaska
        <option value="AZ">Arizona
                    </SELECT>
        <input type="submit" name="submit" value="Search">
      </form>

ED: Mit dem Formular die Methode "post" verursacht, die browser zu werfen, eine Warnung jedes mal, wenn ich drücken Sie die zurück-Taste, um die Seite mit den Ergebnissen. Ich wechselte zu "bekommen", da die Informationen nicht empfindlich und jetzt geht es wieder w/o-Warnung.

  • onchange der dropdown-Liste auswählen, die Sie nicht löschen möchten, text box?
  • Ja, ich nehme an, dass ich wohl möchte. Ich habe auch gerade merke, ich sollte wohl nur geben Sie Ihnen ein dropdown-Menü von Staaten, zum von zu wählen wie die meisten Websites
InformationsquelleAutor whatdafrak | 2012-05-29
Schreibe einen Kommentar