表行的onclick也在该行内的文本字段上工作?

时间:2012-04-02 10:32:39

标签: zen-cart

在类别页面上所有产品都按行列出,每个完整行都是指向该产品详细信息页面的链接。

在该行中,我创建了一个文本字段和一个提交按钮,但产品详细信息链接也在我不想要的文本字段上工作。

当我在文本字段中单击以在其中写入内容时,它会将我重定向到产品详细信息页面,我无法在文本字段中写入内容。

那么我将如何处理它以便我可以在textfield中写一些值?

2 个答案:

答案 0 :(得分:4)

这只是因为在点击产品行时重定向用户的zen cart默认代码。

你可以通过两种方式改变默认行为:

  • 使用JavaScript / JQuery

您可以使用以下代码来防止有人点击文本框时的默认操作

<script>
$(".sortTextBox").click(function(event) {
  event.preventDefault();
});
</script>
  • 手动更改PHP文件中的代码

您需要更改位于zencart管理员文件夹中的categories.php文件中的产品详情代码。

答案 1 :(得分:1)

或者,由于您正在更改管理界面的工作方式,您可以扩展您的更改以删除允许单击该表行的操作,以快速访问该产品的详细信息(这是通常处理该产品信息的编辑。)

例如,需要删除这些代码段中的onclick事件:

        echo '              <tr class="dataTableRow" onmouseover="rowOverEffect(this)" onmouseout="rowOutEffect(this)" onclick="document.location.href=\''  . zen_href_link(FILENAME_CATEGORIES, zen_get_path($categories->fields['categories_id'])) . '\'">' . "\n";

        echo '              <tr class="dataTableRow" onmouseover="rowOverEffect(this)" onmouseout="rowOutEffect(this)" onclick="document.location.href=\'' . zen_href_link($type_handler , 'page=' . $_GET['page'] . '&product_type=' . $products->fields['products_type'] . '&cPath=' . $cPath . '&pID=' . $products->fields['products_id'] . '&action=new_product' . (isset($_GET['search']) ? '&search=' . $_GET['search'] : '')) . '\'">' . "\n";

然后你必须使用(e)编辑按钮才能访问实际的正常产品编辑屏幕,而不是点击该行的任何地方。