フォームのURLを使用しないフォームにボタンを配置します
質問
送信ボタンがクリックされた(またはEnterキーが押された)ときにフォームが送信するアクションとしてURLを持つ通常のフォームがあります。
次に、別のページに移動する2番目のボタンが必要です。このためにリンクを使用する必要があることはわかっていますが、クライアントの要件については、ボタンのように見えるはずです。
CSSシートは社内で作成されていないため(また、コミュニケーションが不可能になっているため)、フォームにボタンが必要になり、ボタンに2番目のフォームを使用できません。
次のタグのいずれかがジョブを実行できると考えました:
<input type="button">
または
<button>
JavaScriptを使用せずにリンクに移動するように設定できますか?
解決
JavaScriptを使用せずにこれを行う唯一の方法は、アクションが目的の宛先である2番目のフォーム内に2番目のボタンを配置することです。 CSSを使用して、この2番目のボタンを最初のフォームの「内側」に配置できる場合があります。
他のヒント
次のいずれかの方法でこれを実行できます。
-
2番目のフォーム
-
Javascript
-
CSSを使用してアンカーリンク上のボタンの外観をモックする
質問で3つすべてを除外したようですが、インラインスタイリング用の小さなウィンドウを残している可能性があります(<!> quot; CSSシート<!> quotを制御できないと言いますが、スタイル属性のためのスペースを残します)、しかしこのソリューションはもちろん他のページにフォーム情報を渡しません。
いいえ、javascriptを使用する必要があります
<input type="button" value="go" onclick="javascript:location.href='http://www.stackoverflow.com';" />
<input type="button" onclick="document.location='my_other_link'" value="Click here"/>
フォームのアクションを動的に変更します:
javascriptコードは次のとおりです:
function submitAnotherURL(){
var yourForm = document.your_form_name;
yourForm.action='your_other_link';
yourForm.submit();
}
htmlのボタン:
<input type="button" onclick="submitAnotherURL()" value="Click here"/>
純粋なHTMLではできません。
編集:ただし、ピーターの方法