代码之家  ›  专栏  ›  技术社区  ›  mythoslife

在表单显示PHP之前先获取值

  •  0
  • mythoslife  · 技术社区  · 12 年前

    我想在表单上显示最多10个要提交的电子邮件字段,但只能从1-10中选择选项。

    <form action="" method="post" name="select">
    <select name="row">
    <option value=1">1</option>
    ...
    <option value="10">10</option
    <input type="submit" name="select">
    </form>
    

    根据所选表单显示下一个表单

    <form name="secondform">
    <?php ... ?>  <!--for loop depending on the value above-->
    <input name="email>
    </form>
    
    1 回复  |  直到 12 年前
        1
  •  0
  •   Community Mohan Dere    8 年前

    因此,您有了下拉列表,将该值提交给self或另一个包含以下内容的php脚本:

    $selected = $_POST['select'];
    
    for($i = 0; $i<$selected; $i++){
    
         echo "<input type='text' name='email$i'>";
    
    }
    

    $selected 是下拉菜单的值。

    现在我们有了一个for循环。它设置了 $i 到零,然后说while $i美元 小于下拉列表值,请添加 1 更多到 $i美元 然后跑步 echo "<input type='text' name='email$i'>";

    正如你所看到的,我附加了 $i美元 至至 email 以便每个字段都有自己唯一的名称。

    你能做的就是 CP510 说并补充 onchange='this.form.submit()' 到select标签,这样它就会自动提交,我会将表单提交到同一页面。这意味着设置选择菜单所在窗体的操作 action="<?php echo $_SERVER['PHP_SELF']; ?>" .


    我会的 强烈地 建议学习类似jQuery的内容。

    这是这个的jQuery(主要是纯javascript)版本。。。非常相似:

    请确保将其放在html文件的头部:

    <script src="http://code.jquery.com/jquery-latest.min.js"
            type="text/javascript"></script>
    

    HTML格式:

    <select id='selected' onchange='addFields();'>
        <option value='1'>1</option>
        <option value='2'>2</option>
        <option value='3'>3</option>
        <option value='4'>4</option>
        <option value='5'>5</option>
        <option value='6'>6</option>
        <option value='7'>7</option>
        <option value='8'>8</option>
        <option value='9'>9</option>
    </select>
    

    Java脚本:

    function addFields(){
    
        var selected = $('#selected').val();
    
        for(var i = 0; i<selected; i++){
             document.write('<input type="text" name="email' + i + '">'); 
        }
    
    }
    
    推荐文章