如何将此标记移动到下一行?

时间:2012-08-03 13:49:06

标签: php css

我遇到了问题:

以下是代码块:

function draw()
{
    $out_string="";
    $out_string.=$this->script;
    reset($this->fields);
    $num_list_box=0;
    while( $field = each($this->fields) )
    {
    if (isset($this->fields[$field[1]->field]->options))
           {
           if (preg_match("/<script type=\"text\/javascript\">/i",$this->fields[$field[1]->field]->options[0][1])&& $this->fields[$field[1]->field]->value!="")
               {
               if ($num_list_box==0) $out_string.= "<script type=\"text/javascript\">levels.forValue(\"".$field_prev[0]."\").setDefaultOptions(\"".$this->fields[$field[1]->field]->value."\");</script>\n";
                   else $out_string.= "<script type=\"text/javascript\">levels.forValue(\"".$field_prev[0]."\").forValue(\"".$field_prev[1]."\").setDefaultOptions(\"".$this->fields[$field[1]->field]->value."\");</script>\n";
               $field_prev[]=$this->fields[$field[1]->field]->value;
               $num_list_box++;
               } else
               {
               $field_prev[0]=$this->fields[$field[1]->field]->value;
               $num_list_box=0;
               }

           }

    }

    $out_string.=$this->draw_title();
    $out_string.=$this->draw_header();
    $out_string.= "<table class=\"forms\">\n";
    $field=array_keys($this->fields);
    reset($field);
    $ind_first=true;
    while( list($pos,$field_name) = each($field) )
    {
       if ($this->num_cols>0) {
       if ($this->fields[$field_name]->col==1){
          if ($ind_first) $ind_first=false;else $out_string.="</tr>";
          $out_string.="<tr><td class=\"field_title\">";}
          else $out_string.="<td class=\"field_title\">";
       $out_string.= $this->fields[$field_name]->title."</td>";
       $colspan="";
       if ($this->num_cols>1) {
           if ($this->fields[$field_name]->col==1 && array_key_exists($pos+1,$field) && $this->fields[$field[$pos+1]]->col==1)
             $colspan="colspan=\"3\"";
          }
       $out_string.="<td class=\"field_value\" $colspan>";
       $out_string.=$this->fields[$field_name]->draw()."</td>";
       } else
       {
       if ($ind_first) $ind_first=false;else $out_string.="</tr>";
       $out_string.="<tr><td class=\"field_value\">".$this->fields[$field_name]->title."<br />";
       $out_string.=$this->fields[$field_name]->draw()."</td>";
       }
    }
    $out_string.= "</tr></table>\n";
    return $out_string;
}

上面的代码块会产生如下代码:

enter image description here

我希望它在例如提供的单词“Transaction”位于文本框上方。

请帮助,编程此部分的人不适应,我们有一个截止日期。

感谢您的帮助。

P.S。文本的CSS类名称为:field_title,文本框的名称为field_value

再次感谢。

2 个答案:

答案 0 :(得分:1)

您必须调试该代码,以找出标签“Transaction”何时插入到表格代码中。一旦找到插入“事务”的位置,就可以创建新的逻辑来添加另一个用于对表进行分支并将标签放在该新行上的TR。

祝你好运,看起来很头疼。

答案 1 :(得分:0)

您的代码显然是基于某些数据(类的$fields属性)构建了一个相当复杂的表单。我猜一些“字段设置”(如col)描述了表单的外观。

因此,您的代码所做的事情既未在您的问题中描述,也未在代码本身中描述。此外,我们不知道目前的完整形式是什么,所以我们甚至无法猜测代码的意图。

您的请求,让描述显示在选择框(?)上方可能会丢掉一半代码,但这对您没有帮助。

PS:请查看常见问题解答 - 本网站仅供参考,不是为了找人做你的(或精灵)工作。您应该让程序员直接解决您的问题,直接访问整个页面。