聚焦后获取输入值

时间:2014-02-06 09:28:58

标签: php forms for-loop input

我想在表单中添加一些输入字段,这取决于先前输入字段的值。 例如: 我有两个输入

如果用户

1.<tr><td>Number of Articles/Posts/Pages:</td><td><input type="number" name="count" ></td></tr>


2.<tr><td>Keywords:</td><td><?php 
$number_of_keywords=$_POST['count'];
i="<input type='text' name='keyword'>";
i++;
i==$number_of_articles;
echo i;
        ?></td></tr>

例如,如果用户在计数字段中键入3,那么我想显示3个输入字段。输入字段数取决于计数字段中用户类型的数量。

请告诉我,如果上面的代码在这里工作,我怎样才能在运行时获得计数字段值?

2 个答案:

答案 0 :(得分:0)

不,您无法在运行时获取count字段值,该值必须通过表单提交或作为查询字符串中的参数传递,以便PHP了解它。

这个问题更适合被标记为javascript问题,而不是PHP问题。如果你想在运行时这样做。如果你想严格使用PHP,那么你必须以某种方式将计数值传递给服务器,或者通过提交表单,或者通过查询字符串中的参数发送它,正如我之前告诉过你的那样。

请注意,如果这是您的真实代码,它将使用属性

创建n个输入
    name="keyword"

这是不正确的,以后可能会让你遇到很多问题。

答案 1 :(得分:0)

我会简单地使用一些JS和一个php文件。

我要做的是在第一个输入上有一个onchange,如

<input type="number" name="count" onchange="getval(this);">

getval是一个JS函数,它将根据输入填充类,并根据您喜欢的输入数量。

function getval(sel){
    var load = $.get('yourPHPFILE.php',{number:sel.value);
    $(".someClass").html('Refreshing');
    load.error(function() {
      console.log("Mlkia kaneis");
      $(".someClass").html('failed to load');
      // do something here if request failed
    });
    load.success(function( res ) {
      console.log( "Success GET VA" );
      $(".someClass").html(res);
    });
    load.done(function() {
      console.log( "Completed GET VA" );
    });
}

然后你在php文件中获取$_GET['number']的值 并通过循环,您echo您喜欢的相应输入数量。 someClass将成为您希望填充输入的类。