我正在处理现有的应用程序。我遇到了一个问题。这是我的循环。
<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的结果,除了第一个之外的所有元素都很好。
这是第一行结果
我无法理解为什么会这样。我已经检查了不同的浏览器,并且都有相同的问题。
编辑:
正在生成的此列表在每行中都有表单。单击“登录”将打开选项卡并询问用户名和密码。但第一行没有表单标签,因此它没有打开标签。
答案 0 :(得分:2)
我找到了这个问题。表单结束标记未写入搜索功能的标题中。所以它选择了第一个表格结束标签,并且列表中的表格开头标签被搁置,因此无法正常工作。
答案 1 :(得分:-1)
在foreach循环内的主表单标签之前使用空表单标签,然后第一个空表单标签将被foreach循环删除,并且功能正常。 例: See code