Как получить текст динамически создать текстовое поле в другом файле PHP, используя метод POST? - PullRequest
0 голосов
/ 25 августа 2018

Я динамически создал текстовое поле в случае нажатия на определенную кнопку, и теперь я хочу получить текст из текстового поля для отображения на другой странице формы php. Ниже приведен мой HTML-код, в котором я назначаю имена "c1", "c2" и "c3" динамически создаваемым текстовым полям.

<script>
            $(document).ready(function(){
            $("#t11, #t12").click(function(){
                var div = $("<div />"); 
        div.html(GenerateTextbox("","c1"));
        $("#TextBoxContainer").append(div);
                 var div = $("<div />");
        div.html(GenerateTextbox("","c2"));  
        $("#TextBoxContainer").append(div);
                 var div = $("<div />");
        div.html(GenerateTextbox("","c3")); 
        $("#TextBoxContainer").append(div);
            });
});
function GenerateTextbox(value,name1) {
            console.log(name1);
    return '<input name = "'+ name1 + '" type="text" value = "' + value + '" /> ';} 
</script>

Мой php код в другом документе:

<td>
                <input type="<?php echo $_POST["t1"];?>"> <?php echo $_POST["c1"];?> 
                <input type="<?php echo $_POST["t1"];?>"><?php echo $_POST["c2"];?>
                <input type="<?php echo $_POST["t1"];?>"><?php echo $_POST["c3"];?>
            </td>

Когда направляется вторая php-страница, говорят, что c1, c2 и c3 - неопределенные индексы. Все остальное работает нормально, но я не могу получить эту информацию с одной страницы на другую.

Пожалуйста, помогите!

Полная форма HTML:

<table align="center">
    <form action="output.php" method="post">
    <tr> 
        <td>
        Background color of page:<br/>
        </td>
        <td>
   <input id="ex" type="color" name="bgcol" id="nbg">
        </td> 
    </tr>
        <tr> 
        <td>
        Name of form:
        </td>
        <td>
        <input type="text" name="titleform" id="titleform">
        </td>
     </tr>
        <tr> 
        <td>
        Font size:
        </td>
        <td>
        <input type="text" name="fontsize" id="fontsz">
        </td>
    </tr>
        <tr> 
        <td>
        Font:
        </td>
        <td>
        <input type="text" name="fontt" id="nbg">
        </td>  
    </tr>
        <tr> 
        <td>
        Font color:
        </td>
        <td>
        <input id="ex"type="color" name="fontt" id="nbg">
        </td>  
    </tr>
        <tr> 
        <td>
        Background color of form:<br/>
        </td>
        <td>
        <input id="ex" type="color" name="bgcolor" id="nbg" value="#FFFFFF">
        </td>   
    </tr>
        <tr> 
        <td>
        Input #1:
        </td>
        <td>
        <input type="text" name="input1" id="nbg">
        </td>     
        <td>
        Type:
        </td>
        <td>
             <select name="t1" id="t1">
        <option>text</option>
        <option id="t11">radio</option>
        <option id="t12">checkbox</option>
    </select>
            </td>
            <td>
            <div id="TextBoxContainer">  
    <!--Textboxes will be added here -->  
</div>
            </td>

        <tr> 
        <td>
        Input #2:
        </td>
        <td>
        <input type="text" name="input2" id="nbg">
        </td>  
        <td>
        Type:
        </td>
        <td>
        <select name="t2">
        <option>text</option>
        <option id="t21">radio</option>
        <option id="t22">checkbox</option>
    </select>
        </td>  
            <td>
            <div id="TextBoxContainer2">  
    <!--Textboxes will be added here -->  
</div>
            </td>
    </tr>
        <tr> 
        <td>
        Input #3:
        </td>
        <td>
        <input type="text" name="input3" id="nbg">
        </td>  
        <td>
        Type:
        </td>
        <td>
        <select name="t2">
        <option>text</option>
        <option id="t31">radio</option>
        <option id="t32">checkbox</option>
    </select>
        </td>
            <td>
            <div id="TextBoxContainer3">  
    <!--Textboxes will be added here -->  
</div>
            </td>
    </tr>
        <tr> 
        <td>
        Input #4:
        </td>
        <td>
        <input type="text" name="input4" id="nbg">
        </td>
        <td>
        Type:
        </td>
        <td>
        <select name="t4">
        <option>text</option>
        <option id="t41">radio</option>
        <option id="t42">checkbox</option>
    </select>
        </td>  
            <td>
            <div id="TextBoxContainer4">  
    <!--Textboxes will be added here -->  
</div>
            </td>
    </tr>
        <tr> 
        <td>
        Input #5:
        </td>
        <td>
        <input type="text" name="input5" id="nbg">
        </td>   
        <td>
        Type:
        </td>
        <td>
        <select name="t5">
        <option>text</option>
        <option id="t51">radio</option>
        <option id="t52">checkbox</option>
    </select>
        </td>
            <td>
            <div id="TextBoxContainer5">  
    <!--Textboxes will be added here -->  
</div>
            </td>
    </tr>
        <tr>
        <td>
            <button type="submit" name="Create_form" id="form2" value="submit" onclick="return check()"> >Submit
            </button>   
            </td>
        </tr>
    </form>
</table> 

1 Ответ

0 голосов
/ 26 августа 2018

Вам необходимо прикрепить ваш div к DOM, и, в частности, как дочерний элемент вашего form.В противном случае <input> s никогда не получит POST ed.

$("#myForm").append(div);

Кроме того, поскольку вы в первую очередь использовали jQuery для манипулирования вашим div и формой, я бы посоветовал вам продолжить с jQuery для созданиявнутренние input с, а не просто предоставлять внутренний HTML в вашей функции GenerateTextbox.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...