2011-10-23 16 views
1

私は、ユーザーがページに2つの新しいフォーム入力を追加するボタンを押すことができるページを持っています。ユーザーは必要な回数だけこれを行うことができます。私が持っている問題は、私が提出しているPHPファイルの新しい入力にアクセスできないように見えることです。フォーム入力を動的に作成してPHPに送信する方法

ここには、ユーザーが見るページのボタンのコードがあります。それはフォームの中にあります。ここで

<div class='instruction'> 
    <p>Please use the checkpoint tool to outline the primary steps 
     necessary for completion of the project. 
     <h4 style='margin-bottom:5px;'>Checkpoint Tool</h4> 
     <input type='button' onclick='addCheckpoint()' value='Add Checkpoint' /> 
     <input type='text' id='count' name='projectCount' style='width:25px;' readonly='true' /> 
    </p> 
    <div id='checkpoints'> 
    </div> 
</div> 

は(JavaScript関数のaddCheckpointである)ここで

function addCheckpoint() 
{  

    var count = +document.getElementById('count').value; 

    // Declare Variables 

    var checkpointText = "Checkpoint "+(count+1); 
    var nameText = "Checkpoint Name: "; 
    var instructionText = "Instructions: "; 

    var previous = document.getElementById("checkpoints"); 

    var newP = document.createElement("p"); 

    var nameInput = document.createElement("input"); 
     nameInput.setAttribute("type","text"); 
     nameInput.setAttribute("name","checkpointName" + count); 



    var instructionInput = document.createElement("textarea"); 
     instructionInput.setAttribute("name","checkpointInstruction" + count); 
     instructionInput.setAttribute("rows","4"); 
     instructionInput.setAttribute("cols","56"); 

    // Append Variables 

     newP.appendChild(document.createTextNode(checkpointText)); 
     newP.appendChild(document.createElement("br")); 
     newP.appendChild(document.createElement("br")); 
     newP.appendChild(document.createTextNode(nameText)); 
     newP.appendChild(nameInput); 
     newP.appendChild(document.createElement("br")); 
     newP.appendChild(document.createTextNode(instructionText)); 
     newP.appendChild(instructionInput); 
     newP.appendChild(document.createElement("br")); 
     newP.appendChild(document.createElement("hr")); 

     previous.appendChild(newP); 


     document.getElementById('count').value = count + 1; 
}  

はそれに提出されているページ上のコードが掲載さの値を取得しようとしています。

$projectCount = strip_tags($_POST["projectCount"]); 
    for($i = 0; $i < $projectCount; $i += 1) 
    { 
     $checkpointNames[] = strip_tags($_POST["checkpointName".$i]); 
     $checkpointDescriptions[] = strip_tags($_POST["checkpointDescription".$i]);   
    } 

ご協力いただきありがとうございます。要素を入れて、あなたがjavasrtipt

+0

PHPでいくつかのデバッグを追加すると、画面にdump $ _POSTのように表示されます...どのように見えますか? – lampej

+0

$ _POSTにvar_dumpを使用し、動的に作成されたものを除いて、すべての入力をフォームに出力しました。同様に、POSTの代わりにGETを使用すると、作成された入力はURLに送信されません。 – user1009142

答えて

0

てみてください、私はそれは新人の間違いだった、それを考え出しました。私の入力は自分のフォームにも追加されていませんでした。しかし、助けてくれてありがとう!あなたが私のコードを見渡す時間を感謝します。

+0

私は送信ボタンを使用しています。 – user1009142

1

オクラホマから、送信ボタンまたはform.submitでフォームを送信してくださいする

+0

このコメントではなく、回答を追加する必要があります。 –

+0

しました。私のコードは機能しましたが、生成された入力がフォームに追加されていないという問題がありました。私が自分の書式を提出したとき、それは含まれていなかったのです。 – user1009142

関連する問題