Ошибка ссылки Javascript в Chrome, которая работает нормально во всех других браузерах? - PullRequest
0 голосов
/ 18 января 2012

Я использую следующий код, который отлично работает во всех браузерах, кроме Chrome, и я изо всех сил пытаюсь понять, почему - при нажатии кнопки он просто ничего не делает:

echo "</div><div class='search_title'>
<!--table15--><h3>".$databack3[title]."</h3><br /><br />".$main_category."</div>
<!--end table15-->
<!--end table0-->

<div class='search_price'><h7>".$pricing."</h7><br /><br />

<form action='/productView.html' method=post name=prod_form>
<a  href='javascript:void(0);' onclick=\"document.forms['prod_form'].submit();
return false;\" class='button101' style='margin-left:80px;'>".$button_text."</a>
<input type=hidden name=PRid value=".$databack3[PRid].">
<INPUT type='hidden' name='cat_id' value=".$databack3[prodcatID].">
<INPUT type='hidden' name='for_user_id' value=".$for_user_id.">
<input type=hidden name=source value=".$source."></form></br>";

Ответы [ 3 ]

2 голосов
/ 18 января 2012

Пожалуйста, используйте href = '#' вместо

<a  href='#' onclick="document.forms['prod_form'].submit();return false;" class='button101' style='margin-left:80px;'>
0 голосов
/ 18 января 2012

Исправлено так:

<div class='search_price'><h7><? echo $pricing ?></h7><br /><br />

<form action='/productView.html' method=post name=prod_form id=prod_form>
<a href="#" onclick="document.getElementById('prod_form').submit()"
class='button101' style='margin-left:80px;'><? echo $button_text ?></a>
<input type=hidden name=PRid value="<? echo $databack3[PRid] ?>">
<INPUT type='hidden' name='cat_id' value="<? echo $databack3[prodcatID] ?>">
<INPUT type='hidden' name='for_user_id' value="<? echo $for_user_id ?>">
<input type=hidden name=source value="<? echo $source ?>"></form></br>

важный бит, дал форме идентификатор и использовал diff onclick

<form action='/productView.html' method=post name=prod_form id=prod_form>
<a href="#" onclick="document.getElementById('prod_form').submit()"....
0 голосов
/ 18 января 2012

Несколько вещей, не связанных с вашим вопросом:

  1. PHP может использоваться как язык шаблонов. Почему вы выводите весь этот HTML в виде строки? Вместо этого попробуйте это:

    // ... при условии, что над этой строкой вам нужен php-код?>

    <div class='search_title'>
        <!--table15-->
        <h3><?php echo $databack3['title']?></h3>
        <br /><br />
        <?php echo $main_category ?>
    </div>
    <div class='search_price'>
        <h7><?php echo $pricing ?></h7>
        <br /><br />
        <form action='/productView.html' method='post' name='prod_form'>
            <a  href='javascript:void(0);' 
                onClick="document.forms['prod_form'].submit(); return false;"       
                class='button101' style='margin-left:80px;'><?php echo $button_text?></a>
            <input type=hidden name=PRid value=".$databack3[PRid].">
            <INPUT type='hidden' name='cat_id' value=".$databack3[prodcatID].">
            <INPUT type='hidden' name='for_user_id' value=".$for_user_id.">
            <input type=hidden name=source value=<?php echo $source?>>
         </form></br>
    

  2. Вы должны действительно использовать кавычки при доступе к ассоциативным массивам в PHP. то есть: $ myArray ['key'] не $ myArray [key]

  3. Как говорит @BonEspresso, используйте взамен href = "#". Кроме того, вам не нужно возвращать false.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...