-4

私は問題があります:

コードのブロックは次のとおりです。

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;
}

上記のコードブロックは、次のようなものを生成します。

ここに画像の説明を入力してください

例では、「トランザクション」という単語がテキストボックスの上にあるようにしたいと思います。

助けてください、この部分をプログラムした人は気が狂っており、締め切りがあります。

助けてくれてありがとう。

PSテキストのCSSクラス名は次のとおりです。field_titleテキストボックスのCSSクラス名は次のとおりです。field_value

もう一度ありがとう。

4

2 に答える 2

1

そのコードをデバッグして、ラベル「Transaction」がテーブル コードの塊にいつ挿入されるかを調べる必要があります。「Transaction」が挿入されている場所を見つけたら、新しいロジックを作成して、テーブル全体にまたがる別の TR を追加し、その新しい行にラベルを配置できます。

頑張ってください、頭痛のように見えます。

于 2012-08-03T13:54:42.383 に答える
0

$fieldsあなたのコードは明らかに、いくつかのデータ(クラスのプロパティ)に基づいてかなり複雑なフォームを構築しています。いくつかの「フィールド設定」( などcol) は、フォームがどのように見えるべきかを説明していると思います。

したがって、あなたのコードは、質問にもコード自体にも記載されていないことを行っています。さらに、現在の完全なフォームがどのように見えるか見当もつかないため、コードの意図を推測することさえできません。

説明を選択ボックス (?) の上に表示するようにというあなたの要求は、おそらくコードの半分を捨てて実行できますが、それは役に立ちません。

PS: FAQ を確認してください。このサイトは質問のためのものであり、あなたの (または他の) 仕事をする人を見つけるためのものではありません。ページ全体に直接アクセスできるプログラマーに問題を解決してもらう必要があります。

于 2012-08-03T14:03:17.573 に答える