2011-09-07 6 views
20

こんにちは私は送信ボタンとして "a"タグを取得しようとしています。私はウェブのどこかでコードを見つけました。しかし、それは動作しませんでした。タグを送信ボタンとして使用しますか?

<a href="#" onclick="this.form.submit()">Submit</a> 

私の必要性を達成するためのコードはありますか?

答えて

23

formid、次に:

document.getElementById("yourFormId").submit();

ベストプラクティスは、おそらくあまりにもあなたのリンクidを与えること、およびイベントハンドラを取り除くようになります:

document.getElementById("yourLinkId").onclick = function() { 
    document.getElementById("yourFormId").submit(); 
} 
+0

ありがとうございましたjames私はそれを持って – theepan

+0

@ジェームスAllardiceこれはJqueryで達成することができますか? – Joshua

1

<a href="#" onclick="this.forms['formName'].submit()">Submit</a> 
22

このコードを試してみてください下のようなものを試してみてください:

<form id="myform"> 
    <!-- form elements --> 
    <a href="#" onclick="document.getElementById('myform').submit()">Submit</a> 
</form> 

しかし、あなたは、次のコードを追加することもできますので、無効JavaScriptを持つユーザーは、フォームを送信することはできません。

<noscript> 
    <input type="submit" value="Submit form!" /> 
</noscript> 
+0

こんにちは、はい、それは良いアイデアです、私はそれについて考えていませんでした。 – theepan

8

フォームを想定することは、あなたが行うことができます直接の親である:

<a href='#' onclick='this.parentNode.submit(); return false;'>submit</a> 

そうでない場合は、次のようなフォーム名属性を使用してアクセスできます。

<a href='#' onclick='document.forms["myform"].submit(); return false;'>submit</a> 

ここで両方の例を参照してください:私の意見ではhttp://jsfiddle.net/WEZDC/1/

+0

ありがとうございますAmosrivera! – theepan

+0

probなし、喜んで助けました;) – amosrivera

+0

かなりクールで、 'this.parentNode.parentNode' ...もOKです – Sinux

-2

を最も簡単な方法は、このように気にいらないでしょう:あなたはこのように値を要求することができます「link.php」内

<?php> 
echo '<a href="link.php?submit='.$value.'">Submit</a>'; 
</?> 

$_REQUEST['submit'] 
+0

フォームアクションがGETでない場合はどうなりますか? – LEQADA

関連する問題