【发布时间】:2014-02-19 06:00:12
【问题描述】:
注意:Here is the fiddle,因为这看起来很糟糕,Here is the full screen result
Here is the fiddle after I do my changes on my computer and generate the html 和 here is the full screen
关于小提琴的注意事项: 我将整个代码添加到小提琴中,因为除非它是整个代码,否则它将无法工作。
感谢任何提供提示的人!我这里唯一的问题是标题中的那个,没有别的。 :)
=====
我正在从事一个本科项目,以创建一个访问数据库的界面(尽管我不是 CS 学生)。我的代码表现得很奇怪。我有一个窗口的代码,它显示一个大 div 并排包含三个 div,其结构是这样的:
<div id="container">
<div id="window1">
<form></form> //my buttons
</div>
<div id="window2">
<form></form> //my body
</div>
<div id="window3">
//I havent written anything here yet
</div>
</div>
但我意识到将它们全部封装在一种形式中对我来说更有意义。像这样:
<div id="container">
<form>
<div id="tab1">
</div>
<div id="tab2">
</div>
<div id="tab3">
</div>
</form>
</div>
所以在第一种情况下,我的网站是这样的:
但是在我改变它之后:
奇怪的是,如果我将表单放入表单中,它又开始工作了!所以这行得通:
<div id="container">
<form>
<div id="tab1">
<form></form>
</div>
<div id="tab2">
<form></form>
</div>
<div id="tab3">
</div>
</form>
</div>
如果你需要看我的代码,其实我是用php生成html的,因为很多,所以(这个方法不行):
<div id="search_separator" class="upper_tab">
<form action="" method="post">
<div id="button_container">
<?php
$tbs_a = 1;
$tbs_name = 'table_selector';
$printRetain_button = '';
$fg = input::get($tbs_name);
echo '<label for="',$tbs_name,'"></label>';
foreach($table_arrays AS $ta => $table){
$tbs_val = "table".$tbs_a;
if($tbs_a==1){
echo '<div class="button"><input type="radio" class="tabl_selector" name="',$tbs_name,'" value="',$tbs_val,'" checked="default"/><div class="table_selector">',$ta,'</div></div>';
}else{
echo '<div class="button"><input type="radio" class="tabl_selector" name="',$tbs_name,'" value="',$tbs_val,'"';
if($tbs_val == $fg){
echo ' checked="checked"';
}//make a separate echo for table1 radio button with the default turned on.
echo '/><div class="table_selector">',$ta,'</div></div>';
}
$tbs_a++;
}
?>
<!--<input type="submit" name="submit" value="submit" />-->
</div>
<div id="search_container" class="content">
<?php
$a = 1;
$search = DB::getInstance();
foreach($table_arrays AS $t_a => $table){
$y = 1;
echo '<div id="table',$a,'_content" class="table_content">';
echo "<h2>",$t_a,'</h2><table align="center" id="actualhtmltable">';
foreach($table AS $t => $field){
$name = "table".$a."_field".$y;
$val_sticky = escape(input::get($name));
$val_find = $search->get($t_a, array($t, '=', input::get($name)));
//$val_find = $search->get('user_credentials', array('user_id', '=', 28))->results();
if(!empty($val_find)){
$val = array();
foreach($val_find[0] AS $vfz){
$val[] = $vfz;
}
} elseif(!empty($val_sticky)){
$valu = $val_sticky;
} else {
$valu = "";
}
echo '<tr><div><td>',$t,'</td><td><label for="',$name,'"><input type="text" class="entryfields" name="',$name,'" value="';
if(!empty($val[$y-1])){
echo $val[$y-1];
} else {
echo $valu;
}
echo '" /></label></td></div></tr>';
$y++;
}
echo '</table></div>';
$a++;
}
?>
<div class="Tableformbutton">
<div class="FindModeButtons">
<input type="Submit" name="find" value="Find" id="find" class="findupdateinsert" />
<input type="Submit" name="update" value="Update" id="update" class="findupdateinsert" />
</div>
<input type="Submit" name="insert" value="Insert" id="insert" class="findupdateinsert" />
</div>
</div>
<div id="other_container">
<!--find mode on and other functionalities-->
</div>
<div class="hassubmit" id="searchsubmit_container">
<input type="button" id="findmodetoggler" name="query_submit" value="Toggle Find Mode" class="top_buttons" />
<a href="#" class="tip"><input="button" name="Help" value="Help" class="top_buttons" id="help" />
<span> Click "Toggle Find Mode" to toggle between find/update and insert buttons.<br />
If find mode is on, you will be able to look for existing records and update them. Otherwise, you can only insert new entries.<br />
Find mode is off by default.</span>
<p>Need Help?</p>
</a>
</div>
</form>
</div>
据我所知,它应该可以工作!我在我的 HTML 中看不到任何内容,至于我的 CSS,我没有为其中的表单设置任何样式,只有 div 和标签以及输入标签。有什么问题?
感谢任何提供提示或想法的人!
【问题讨论】:
-
为什么不在问题中发布 CSS 以及完整的 HTML?
-
将生成的 HTML 和 CSS 放在 jsfiddle.net 中
-
这里是小提琴:jsfiddle.net/QDk29/3 但它在小屏幕上被压缩得很糟糕所以这里是:jsfiddle.net/QDk29/3/embedded/result
-
一页上有这么多表格的原因是什么?
-
其实就是这样,我意识到表格太多了,决定暂时把它缩短到只有两个。一种形式用于搜索选项(存储在一个选项卡中),另一种用于查询(存储在完全独立的选项卡中)。但是当我这样做时,表格消失了!
标签: php html forms debugging tags