0

フォームの子にならないフィールド要素を追加する方法はありますか? 例えば:

<form name="form" id="form">
<input type="text" name="text">

*<button type="button" onclick="load()">Load options</button>*<-- Need not become a child

<select name="select">
<option value="1">Option</option>
</select>
<input type="submit" name="submit">
</form>

ボタン要素がフォーム「フォーム」の子になるのを防ぐ方法はありますか?

4

2 に答える 2

0

タグと共に (ハードコードされた、または動的に挿入された) タグを挿入する場合、それらは DOM 階層に従って子ノードとして自動的にマークされます。

ボタンは、フォーム内に関連付けずに個別に配置して、フォームの子ノードにならないようにすることができます。

<form name="form" id="form">
    <input type="text" name="text">
    <select name="select">
        <option value="1">Option</option>
    </select>
    <input type="submit" name="submit">
</form>
<button type="button" onclick="load()">Load options</button>

ボタンをテキストボックスの横に配置したい場合は、投稿したものと同じコードを少し変更して使用できます。

<form name="form" id="form">
    <input type="text" name="text">
    <button type="button" onclick="return load();">Load options</button>
    <select name="select">
        <option value="1">Option</option>
    </select>
    <input type="submit" name="submit">
</form>

JavaScript 関数 load() で、最後に return false を追加します。

function load(){
    /*Your Codes*/
    return false;
}

これにより、クリック後にロード機能が実行された後、ボタンがフォームを処理できなくなります。

お役に立てれば。

于 2013-08-13T15:09:54.253 に答える
0

いいえ。ボタンが HTML マークアップのフォーム内にある場合、ボタンは常にフォームの子になります。このボタンをフォームの外に配置して、絶対または相対位置を使用できます。ただし、このボタンのクリックでフォームの送信を防止したいだけの場合は、クリック リスナーに ";return false" を追加するか、addEventListener でイベントをアタッチし、イベント リスナーでイベント オブジェクトの preventDefault() を使用します。

于 2013-08-13T14:59:25.747 に答える