2015-11-28 3 views
0

Я пытался сделать с помощью выпадающего списка обязательным. Это мой код:Использование выпадающего списка обязательных

<form class=​"add-to-cart clearfix" action=​"http:​/​/​www.MyWebsite.com/​cart/​add/​38561016/​" id=​"product_configure_form" method=​"post"> 
    <input type=​"hidden" name=​"bundle_id" id=​"product_configure_bundle_id" value> 
    <div class=​"product-configure"> 
     <div class=​"product-configure-variants">​ 
      <label for=​"product_configure_variants">​"Make a choice: "<em>​*​</em>​</label> 
      <select name=​"variant" id=​"product_configure_variants" onchange=​"document.getElementById('product_configure_form')​.action = 'http:​/​/​www.photographycoursetour.com/​product/​variants/​20882492/​';​ document.getElementById('product_configure_form')​.submit()​;​" > 
       <option value=​"38561016" selected=​"selected">​PLEASE SELECT - €5.995,00​</option> 
       <option value=​"37213514">​2 APR - 16 APR 16 - €5.995,00​</option> 
       <option value=​"37213516">​5 NOV - 19 JAN 16 - €4.499,00​</option> 
      </select> 
      <div class=​"product-configure-clear">​</div> 
     ​</div> 
     <a href=​"javascript:​;​" onclick=​"$('#product_configure_form')​.submit()​;​" title=​"Add to cart" class=​"btn large">​Add to cart​</a>​ 
    </div> 
</form> 

Если нет никакого способа, чтобы сделать использование ниспадающего обязательным, то, возможно, предупреждение возможно?

Я попытался это (но это не работает):

<script> 
if ($_POST[‘variant'] == '38561016') 
{ 
    $errors[] = 'Please select a tour date'; 
} 
</script> 

ответ

0

На самом деле самый простой способ сделать это, чтобы дать ему атрибут required:

<select .... required> 

Но если вы хотите быть более осторожными и используйте jQuery, тогда вам нужно будет запустить jQuery на submit, чтобы проверить, был ли он выбран. Таким образом, в первую очередь, изменить <from>:

<form .... onsubmit=foo()> 

А затем использовать код JQuery. Дайте мне знать, если это решит вашу проблему.

+0

Проблема код выпадающий генерируется BackOffice. Поэтому мне нужен скрипт, который будет работать над этим сгенерированным кодом. – Eddy

+0

используйте сценарий ниже. в рамках 'product_configure_variants' вы можете получить значение текущей опции с помощью $ $ this this .val();' – Chris

0

также вы должны использовать кнопку, а не ссылку для отправки формы. кнопка в форме имеет по умолчанию type="submit", чтобы отправить форму.

<button title="Add to cart" class="btn large"> 

не использовать встроенный JS, когда вы используете jQuery.

<script> 
    $(document).on('ready', function() { 
     $('#product_configure_variants').on('change', function() { 
      // submit form here with another action 
     }); 
    }); 
</script> 

оповещения сообщение:

<script> 
    var showError = <?php echo $_POST['variant'] == '38561016' ?> == 1; 
    if(showError) { 
     alert('Please select a tour date'); 
    } 
</script> 
+0

Код генерируется backoffice, который я не могу изменить. Нет ли способа достичь этого, используя скрипт, действующий на существующий код? – Eddy

+0

Я обновил код, чтобы предупредить сообщение. – Chris

Смежные вопросы