送信ボタンが 2 つあるフォームがあります。それは問題ではありません。私はそれをうまくやることができます。本題に入りましょう。HTMLは次のとおりです。
<!-- Assume there's a lot more document here. -->
<form action="place1.html" method="GET">
<input type="submit" value="Go to Place 1!" />
<input type="submit" formaction="place2.html" value="Go to Place 2!" />
</form>
最初のボタンは意図したとおりに完全に機能します。2 番目のボタンは奇妙です。右端の 10 ピクセル程度をクリックしない限り、実際には place1.html に移動します。その後、place2.html に移動します。ここで何が起こっているか知っている人はいますか?Google Chrome と Internet Explorer でテストしました。それは私のHTMLですか?ブラウザ?私のコンピューター?
更新
しましたので、ページの CSS を無効にしましたが、違いはありませんでした。とにかく、どのような種類の入力も対象とする CSS はありませんでした。また、タグaction
から属性を削除し、Agony の提案に従って最初の送信ボタンに属性を追加しました - サイコロはありません。:(しかし、それはよりきれいに感じるので、私はそれを維持するつもりです.form
formaction
ここで私の環境をもう少し説明します。実際には、1 つのフォームに含まれる 2 つのフィールドセットに含まれる 3 つのボタンがあります。今、それは div の CSS かもしれません。
<form id="server-form" method="post">
<input type="hidden" name="custID" value="@Model.CustomerID" form="server-form" />
<div style="float: left; width: 50%;">
<fieldset>
<legend>Fieldset One</legend>
<!-- Content goes here -->
<p><input type="submit" formaction="/page1.html" value="Go to Page 1" />
<input type="submit" formaction="/page2.html" value="Go to Page 2" /></p>
</fieldset>
</div>
<div style="float: right; width: 50%;">
<fieldset>
<legend>Fieldset Two</legend>
<!-- More and different content goes here -->
<p><input type="submit" formaction="/page3.html" value="Go to Page 3" /></p>
</fieldset>
</div>
なぜ私はこれを前に明らかにしなかったのですか?状況をできるだけ一般的に保ち、特定のインスタンスに絞り込む前に、見逃していたばかげたことがないかどうかを確認したかったのです。
それが違いを生む場合、私はRazorでASP.NET MVC 4も使用していますが、そうすべきではないと思います。