2016-08-19 6 views
0

ユーザーがフォームを記入すると、新しい質問が動的に追加されるボタンがいくつかあります。しかし、私はこれらのボタンの値を後続のPHPページに投稿することはできません。Javascriptによって制御されるHTMLフォームからのボタン値の投稿

以下の例では、$ _POST ['add_email']経由で "process-form.php"の "add_email"の値を取得できません。

ご協力いただきありがとうございます。還元型で、それは次のようになります。

HTMLフォーム

<form id="form" class="form" action="process-form.php" method="POST"> 
    <input id="name" name="name" type="text" placeholder="Name"> 

    <!-- Yes/No buttons asking if the user wants to enter their email--> 
    <div id="form_email"> 
    <h4>Do you want to enter your email?</h4> 
    <input type="button" class="btn" id="add_email" name="add_email" value="Yes" onclick="showEmailQ(this.value)"></input> 
    <input type="button" class="btn" id="add_email" name="add_email" value="No" onclick="showEmailQ(this.value)"></input> 
    </div> 
    <input type="submit" class="btn" value="Submit &raquo;"> 
</form> 

Javascriptを

<script> 
//Function to process whether user wants to enter email and then display value 
function showEmailQ(value){ 
    var table_row = document.getElementById("form_email"); 
    if(value == "Yes"){ 
    table_row.innerHTML = '<input id="email" name="email" type="text" placeholder="Email">'; 
    } 
    else{ 
    table_row.innerHTML = '<p>You have chosen not to enter your email</p>'; 
    } 
} 
</script> 

PHP

//process-form.php 
session_start(); 
$enteredEmail = $_POST['add_email']; 
echo $enteredEmail; // Nothing prints to screen 
+0

に一致するように入力された名前を変更する* showEmailQ *なぜ彼らは投稿する必要があり、ボタンを削除しますか? – RobG

答えて

0

あなたは

で入力を上書きすることによって、あなたのフォームを破壊しています * form_emailの* div要素のinnerHTMLの交換の際

ので、多分

table_row.innerHTML = '<input id="email" name="add_email" type="text" placeholder="Email">'; 
+0

ああ、意味がある....私はちょうど両方の値を保持する方法を働く必要があります。私はそれに取り組んで、ありがとう! – Austin

+0

上記のように、クリック機能の初めての作業だと思います。 –

関連する問題