2

次のようなテキスト入力があります。

<input class="input-large" form="form" type="text" name="product_data[product]" id="product_description_product" value="{$product_data.product}" />

残念ながら、このフィールドに入力される情報は非常に具体的である必要があります。これについて私が考えることができる最善の解決策は、3 つのドロップダウン メニューにさまざまなオプションを提供することです。

HTML を編集し、必要に応じて JavaScript を追加することはできますが、フォーム処理スクリプトやデータベースを編集することはできません。そのため、3 つの選択メニューから取得する必要がある値は、単一のフォーム フィールド値に連結する必要があります。

どう思いますか?

私はほとんどそれを持っていると思いますが、それは機能していません。フォーム全体をコピーしますが、非常に長いので、このビットだけが必要な場合があります。

<form>
    <input form="form" type="hidden" name="product_data[product]" id="product_description_product" value="{$product_data.product}" />

    <script type="text/javascript">
        $(all_three_select_tags).change(function(){
    concatenated_string = $(#product_description_product_1).val() + $(#product_description_product_2).val() + $(#product_description_product_3).val();
    $("#product_description_product").val(concatenated_string);
    })
    </script>
    <select id="product_description_product_1">
        <optgroup label="Box size">
            <option value="Extra small">Extra small</option>
            <option value="Small">Small</option>
            <option value="Medium">Medium</option>
            <option value="Large">Large</option>
            <option value="Extra Large">Extra Large</option>
        </optgroup>
    </select>
    <select id="product_description_product_2">
        <optgroup label="Speciality">
            <option value="organic">organic</option>
            <option value="seasonal">seasonal</option>
            <option value="locally grown">locally grown</option>
            <option value="exotic">exotic</option>
            <option value="gourmet">gourmet</option>
        </optgroup>
    </select>
    <select id="product_description_product_3">
        <optgroup label="Type of box">
            <option value="veg box">veg box</option>
            <option value="fruit box">fruit box</option>
            <option value="fruit &amp; veg box">fruit &amp; veg box</option>
        </optgroup>
    </select>
</form>
4

1 に答える 1