我正在开发一个现有的应用程序。我遇到了一个奇怪的问题。这是我的循环。
<tbody>
<?php if($results->num_rows > 0 ): ?>
<?php foreach ($results->result() as $row1): ?>
<tr>
<td class="td_data"><a href="<?php echo site_url('campaign/search/customer_name/'.$row1->customer_name)?>"><?php echo $row1->customer_name; ?></a></td>
<td class="td_data"><?php echo $row1->postcode; ?> </td>
<td class="td_data"><a href="<?php echo site_url('campaign/search/company/'.$row1->company);?>"><?php echo $row1->company; ?></a></td>
<td class="td_data"><?php echo $row1->enquiry_status; ?></td>
<td class="td_data"><?php echo $row1->form_source; ?></td>
<td class="td_data"><?php echo anchor('customer/edit/' . $row1->customer_id, 'Edit'); ?></td>
<td class="td_data">
<a href="javascript:;" id="member_login_link<?php echo $row1->customer_id?>">Login</a>
<?php $action = $this->config->item('front_site_url').'members/login';?>
<form id="member_login<?php echo $row1->customer_id?>" action="<?php echo $action;?>" method="post" >
<input type="hidden" name="username" value="<?php echo $row1->username?>"/>
<input type="hidden" name="password" value="<?php echo $row1->password?>"/>
<input type="hidden" name="submitted" value="yes" />
</form>
<script type="text/javascript">
$('#member_login_link<?php echo $row1->customer_id?>').click(function(){
$('#member_login<?php echo $row1->customer_id?>').submit();
});
</script>
</td>
</tr>
<?php endforeach; ?>
<?php else: ?>
<tr>
<td class="td_data">No Record Found</td>
</tr>
<?php endif; ?>
</tbody>
这将创建一个列表。检查元素会显示此内容。
这是 firebug 的结果,除了第一个元素之外,它对所有元素都很好。
这是第一行结果
我无法理解为什么会发生这种情况。我检查了不同的浏览器,都有相同的问题。
编辑:
正在生成的列表的每一行都有表格。单击“登录”将打开一个选项卡并要求输入用户名和密码。但第一行没有表单标签,因此它不是打开标签。
最佳答案
我发现了这个问题。表单结束标记未写入搜索功能的标题中。因此它选择了第一个表单结束标签,而列表中的表单开始标签则被挂起,因此它不起作用。
关于php - 第一个表单在循环中未显示,而其他表单则显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15108147/