Получение синтаксической ошибки с помощью jQuery

// Add an additional field to the checkout within a new fieldset add_filter('eshopaddtocheckout','eshop_extras_checkout'); function eshop_extras_checkout($echo){ $echo .= ' <script> jQuery(function($) { $(".formGroup").hide(); $("#chooseForm input:checkbox").on("change", function() { if($(this).is(":checked")) { $("#" + $(this).val()).show(); } else { $("#" + $(this).val()).hide(); } }); }); </script>'; $echo .= '<fieldset class="eshop eshop_extra">' . "\n"; $echo .= '<legend>Select the Approriate Form</legend>' . "\n"; $echo .= ' <div id="chooseForm"> <input type="checkbox" name="forms2[]" id="ArticlesOrderForm" value="ArticlesOrderForm"> <b>Articles Order Form </b><br> <input type="checkbox" name="forms2[]" id="PressReleasesForm" value="PressReleasesForm"> <b> Press Releases Form </b><br> </div> <div id="ArticlesOrderForm" class="formGroup"> <legend>Articles Order Form</legend> <label for="kwd1">Art-Keywords1</label><input class="short" type="text" name="kwd1" value="" id="kwd1" maxlength="20" size="20" > <br> </div> <div id="PressReleasesForm" class="formGroup"> <legend>Press Releases Form</legend> <label for="kwd2">PRKeywords2</label><input class="short" type="text" name="kwd2" value="" id="kwd2" maxlength="20" size="20"> <br> </div>'; $echo .= '<fieldset class="eshop eshop_extra">' . "\n"; $echo .= '<legend>Extras</legend>' . "\n"; $echo .= '<label for="eshop_extra">'.__('Extra Field','eshop').' <span class="reqd">*</span><br /> <input class="short" type="text" name="eshop_extra" value="" id="eshop_extra" maxlength="20" size="20" /></label><br />'; $echo .= '</fieldset>' . "\n"; return $echo; } 

  // Add extra field to error checks add_filter('eshoperrorcheckout','eshop_extras_errorcheckout'); function eshop_extras_errorcheckout($_POST){ $myerror=''; if(!isset($_POST['eshop_extra']) || trim($_POST['eshop_extra'])==''){ $myerror= '<li>'.__('<strong>Extra Field</strong> - missing.','eshop_extras').'</li>'; } if(!isset($_POST['ArticlesOrderForm'])) { if(!isset($_POST['kwd1']) || trim($_POST['kwd1'])=='') { $myerror= '<li>'.__('<strong>KWD1</strong> - missing.','kwd1').'</li>'; } } if(!isset($_POST['PressReleasesForm'])) { if(!isset($_POST['kwd2']) || trim($_POST['kwd2'])=='') { $myerror= '<li>'.__('<strong>KWD2</strong> - missing.','kwd2').'</li>'; } } return $myerror; } 

** Теперь я не получаю никаких синтаксических ошибок …. Пожалуйста, проверьте ниже ссылку: (при выборе соответствующей формы), когда и проверьте их, они пропали без вести .. что я делаю неправильно ..? **

articlewritingservicess.com/shopping-cart/checkout/

Вы смешиваете серверный код и клиентский код.

PHP используется на сервере и будет выводить HTML-код, который отправляется в браузер (HTML может включать jQuery). Но jquery будет работать только в браузере.

Проблема в том, что вы используете команды jquery на стороне сервера , со следующей строкой …
(Это утверждение 2-го if в вашей функции eshop_extras_errorcheckout )

 if($('#check_id').is(":checked")) 

Это должен быть PHP-код, а не jquery … что-то вроде …

 if(isset($_POST('check_id'))){ // Do something } 

Дополнительно на основе комментария OP

Причина, по которой ваши флажки не остаются «проверенными» на обратной стороне страницы, заключается в том, что каждый раз вы создаете код <input type="checkbox" , и если вы специально не checked атрибут checked , это будет не отображаться, когда страница отображается.

(Я не уверен, что вы знакомы с ASP.NET, но в этой технологии, если вы отметите галочку, а затем после обратной связи, ASP.NET справится с этим для вас. PHP не делает это стандартным, вам нужно чтобы сказать это, чтобы проверить это.)

Так, например, где вы «эхо» используете следующую строку в вашей функции eshop_extras_checkout (обратите внимание, что это содержится в строке PHP, это не прямая eshop_extras_checkout ):

 <input type="checkbox" name="forms2[]" id="ArticlesOrderForm" value="ArticlesOrderForm"> <b>Articles Order Form </b><br> 

… вам нужно условно поместить checked атрибут, что-то вроде этого:

 (isset($_POST('ArticlesOrderForm')) ? "Checked" : "") 

… что приведет к тому, что строка будет выглядеть как

 <input type="checkbox" name="forms2[]" id="ArticlesOrderForm" value="ArticlesOrderForm" ' . (isset($_POST('ArticlesOrderForm')) ? "Checked" : "") . '> <b>Articles Order Form </b><br> 

Поэтому, когда окончательный HTML отправляется в браузер, атрибут checked , если флажок установлен, и он не будет, если он не будет.

Надеюсь, что имеет смысл