2016-09-08 7 views
2

フォームを送信するボタンが必要ですが、動作しないようです。ボタンをクリックすると何も起こりません。JavaScriptを使用してHTMLフォームを送信する

HTML

<form method="post" action="process.php"> 
    <select name="taskOption" id="taskOption2"> 
    <option value="Select">Please select a site</option> 
    <option value="http://www.Itslearning.com">Itslearning</option> 
    <option value="http://www.NDLA.no">NDLA</option> 
    </select> 
</form> 

<button onclick="FormSubmit()" class="button button1 button1:hover">Take me there</button> 

はJavaScript

function FormSubmit() { 
document.getElementById("taskOption").submit(); 
} 

PHP

<?php 
$option = isset($_POST['taskOption2']) ? $_POST['taskOption2'] : false; 
if ($option) { 
header("Location: $option"); 

} 
else { 
    echo "Venligst velg en side."; 
    exit; 
} 
?> 

答えて

0

あなたの関数が間違っています。

document.getElementById("taskOption").submit(); //これはそれがあなたの代わりにのように、フォームのIDを書き込む必要があります選択ボックスのIDではないフォーム

<form name="F1">// give a name to your form 
    ..... 
</form> 

    function FormSubmit() {  

    document.F1.submit(); 
    } 

または

<form id="formid">// give a id to your form 
     ..... 
    </form> 
    function FormSubmit() {  
document.getElementById('formid').submit(); 
} 
0

ある

taskOption間違っています以下:

<form method="post" action="process.php" id="taskOption2"> 
       <select name="taskOption" > 
       <option value="Select">Please select a site</option> 
       <option value="http://www.Itslearning.com">Itslearning</option> 
       <option value="http://www.NDLA.no">NDLA</option> 
      </select> 
    </form> 
0

用途:

Javascriptを:

function FormSubmit() { 
    document.taskform.submit(); 
} 

HTML:

<form method="post" name="taskform" action="process.php"> 
       <select name="taskOption" id="taskOption2"> 
       <option value="Select">Please select a site</option> 
       <option value="http://www.Itslearning.com">Itslearning</option> 
       <option value="http://www.NDLA.no">NDLA</option> 
      </select> 
    </form> 

<button onclick="FormSubmit()" class="button button1 button1:hover">Take me there</button> 
0

まずあなたがここに、Form1を形成するために名前を与えたが、名前 で、その後のonclickあなたは

<form method="post" name="form1" action="process.php"> 
      <select name="taskOption" id="taskOption2"> 
      <option value="Select">Please select a site</option> 
      <option value="http://www.Itslearning.com">Itslearning</option> 
      <option value="http://www.NDLA.no">NDLA</option> 
      </select> 
     </form> 

     <button onclick="FormSubmit()" class="button button1 button1:hover">Take me there</button> 


    function FormSubmit() { 
    document.form1.submit(); 
    } 
+0

によるアクセスである「Venligst velgエン側と言うサイトに私をリダイレクトします"それは私が望むサイトの1つにリダイレクトされません.. – MartinTheNob

0
フォームを呼び出します

私にはあなたはただの送信ボタンをfo rm:

この場合、最も簡単な解決策は、<button>をフォームタグ内に移動し、type="submit"にすることです。すべての必要な一切のJavascriptはありません:

<form method="post" action="process.php"> 
    <select name="taskOption" id="taskOption2"> 
     <option value="Select">Please select a site</option> 
     <option value="http://www.Itslearning.com">Itslearning</option> 
     <option value="http://www.NDLA.no">NDLA</option> 
    </select> 
    <button type="submit" class="button button1 button1:hover">Take me there</button> 
</form> 
0

は、フォームにIDを追加するのを忘れて、あなたがして、フォーム上の機能を提出呼び出しているので、それは動作しません。この

function submitMyForm() 
    { 
    alert("Test"); 
    document.getElementById("myForm").submit(); 
    } 
<form id="myform" method="post" action="process.php"> 
    <select name="taskOption" id="taskOption2"> 
    <option value="Select">Please select a site</option> 
    <option value="http://www.Itslearning.com">Itslearning</option> 
    <option value="http://www.NDLA.no">NDLA</option> 
    </select> 
</form> 


<button onclick="submitMyForm()">The time is?</button> 
+0

はうまくいくはずですが、起こる唯一のことはアラートがポップアップすることです。他には何もありません.. – MartinTheNob

+0

アラートがポップアップすると、次のステップはあなたにフォームを提出しています..何かエラーがありますか? – Komal

+0

メッセージがポップアップしているだけですが、エラーはありません。 – MartinTheNob

0

をお試しくださいid taskOption。あなたは、唯一のフォームIDまたは要素がsubmit()を使用することができ提出間違ったコールを持って

<form method="post" action="process.php" id="taskOption"> 
+0

"選択"に "id"を入れました。それを修正した後、ボタンはまだ動作しません。今は私をページにリダイレクトする必要があります私が何かを選んでいないときに現れます。 – MartinTheNob

+0

oyuは実際に何をしたいですか? .smitはフォーム上でのみ呼び出されます。 –

0

:formタグにはidがありません

<form method="post" action="process.php"> 

は、などのIDを追加します。だから、あなたが選択したIDを持つ間違ったアクセス権を持っているあなたのPHPで最初の

function FormSubmit() { 
document.getElementById("taskOption2").parentNode.submit(); //must call id not name (parentNode is getting for parent form element) 
} 

フォーム要素を呼び出して、正しいものは、これを使用してelement name

$option = isset($_POST['taskOption']) ? $_POST['taskOption'] : false; //element name is valid call 
関連する問題