单击提交后在文本框上添加值

时间:2011-03-22 18:32:40

标签: php

是否可以在我的

上创建多个html文本input
<form method="POST" id="2"> 

使用:

<input type="text" value="">

初始值为none,并在点击之前的

提交后将其填入值
<form method="POST" id="1">

任何人都可以帮我吗?

提前致谢!顺便说一下,我正在使用PHP。

3 个答案:

答案 0 :(得分:2)

这个问题有点模糊,标签不正确。

PHP在服务器端执行。修改表单的唯一方法是使用Javascript。

你的“可能”问题的答案是肯定的。

<form name="myform" action="handle-data.php">
Input: <input type='text' name='name' value='none' />
<a href="javascript: submitform()">Submit</a>
</form>
<script type="text/javascript">
function submitform()
{
  // Do things here
  document.myform.submit();
}
</script>

答案 1 :(得分:0)

他们必须是单独的表格吗?

您可以使用jQuery Form Wizard Plugin之类的内容在UI中拆分表单,并使用step_shown事件填充您需要的字段。

答案 2 :(得分:0)

@zerey:我编写了这个评论的人为例子,我认为你可能希望只使用PHP实现,我把它们全部合并为一种形式 -

<?php
if (strtoupper($_SERVER['REQUEST_METHOD']) == "POST")
{
    $foo = intval($_POST['foo']);
    $bar = $_POST['bar'];

    if (count($bar) > 0)
    {
        // the additional inputs that were created now contains data
        // and furter validation can take place here
    }
}

if (!isset($foo))
{
    $foo = 0; // default the # of inputs field to 0
}
?>
<form action="<?php echo $_SERVER['SCRIPT_NAME']; ?>" method="post">
    <div>
        <label for="foo"># inputs:</label>
        <input type="text" name="foo" size="3" maxlength="1" value="<?php echo $foo; ?>">

        <input type="submit" value="Submit">
    </div>
    <?php
    // a check to limit the amount of additional inputs that can be
    // created
    if ($foo < 10 && $foo > 0)
    {
    ?>
    <div>
        <?php
        // loop to output the # of inputs the user previously entered
        for ($i = 0; $i < $foo; $i++)
        {
        ?>
        <br>
        <label for="bar[<?php echo $i; ?>]"><?php echo $i + 1; ?></label>
        <input type="text" name="bar[<?php echo $i; ?>]" id="bar[<?php echo $i; ?>]" value="<?php echo $bar[$i]; ?>">
        <?php
        }
        ?>
    </div>
    <?php
    }
    ?>
</form>