2010-12-11 30 views
0

有沒有更好的方式來處理PHP中的表單標籤順序而不是這個?是否有更好的方式來處理PHP中的表單標籤順序而不是這個?

我有多個重複的表單的頁面。由於佈局我希望tab順序是非順序的,所以我必須在html中指定它(以便我可以不按順序指定它)。我的形式使用PHP的塊引用機制,據我可以做出來不允許塊

我實現了這裏面的PHP變量算術,但我的實現看起來彆扭構建。我不禁想到有一個更優雅的方式來做到這一點。

首先我在頁面頂部初始化一些PHP變量。

$tab1=1; 
$tab2=2; 
$tab3=3; 
$tab4=5; 
$tab5=4; 

然後後來,一個PHP循環我做這裏面......

$tab1+=5; 
$tab2+=5; 
$tab3+=5; 
$tab4+=5; 
$tab5+=5; 

然後將變量添加到塊引用...

$picshtml .= <<<BLOCK 
<div class="addcomment"> 
    <a href="">Add Comment</a><br /><br /> 

    <div id="commentform$row[photoid]" class="commentform"> 
     <div id="submitanim$row[photoid]" style="display:none"> 
      <img src="loadingAnimation.gif" alt="Processing..." /> 
     </div>  
     <form action=""> 
      <div style="float:left;clear:left;text-align:right"> 
       Comment<br />Name <input type="text" id="name$row[photoid]" tabindex="$tab1" /> <br /> 
       Email <input type="text" id="email$row[photoid]" tabindex="$tab2" /><br /> 
       Website <input type="text" id="website$row[photoid]" tabindex="$tab3" /><br /> 
       <input type="button" value="Submit Comment" id="submit$row[photoid]" onclick="javascript:ajax($row[photoid])" tabindex="$tab4" /> 
      </div> 
      <textarea rows="5" cols="50" id="comment$row[photoid]" tabindex="$tab5" ></textarea> 
     </form> 
    </div> 
</div> 

BLOCK; 
+0

如果我有因緣編輯這個,我會幫助你的。代替對代碼使用反引號標記,請嘗試使用4個空格縮進代碼行。 – scoates 2010-12-11 21:49:09

+0

最終得到了它的hang ... ......反面的事情讓它變得無法正確。相反,我只是使用按鈕來添加4個空格。 – MrVimes 2010-12-11 21:52:06

回答

1

如何sprintf

$html = <<<BLOCK 
... 
<input type="text" tabindex="%d" /> 
... 
BLOCK; 

$order = 0; 

$html = sprintf($html, $order, $order + 1, $order + 2, $order + 3, $order + 4, $order + 5, ...); 

$order += 6; 

// ... 

語法參考這裏:

http://php.net/sprintf

+0

完美!訣竅了。謝謝 :) – MrVimes 2010-12-11 22:01:40

相關問題