Функция onClick не работает для выбранного поля параметра - PullRequest
0 голосов
/ 17 декабря 2018

Я получил кнопку Paypal на своей веб-странице, которая содержит сгенерированный код:

<form action="https://www.paypal.com/cgi-bin/webscr" method="post" target="_top" class="center-align" id="paypal">
  <input type="hidden" name="cmd" value="_s-xclick" >
  <input type="hidden" name="hosted_button_id" value="XMMPHFAWFLLRG">
  <input type="image" src="https://www.paypalobjects.com/de_DE/DE/i/btn/btn_buynowCC_LG.gif" border="0" name="submit" alt="Jetzt einfach, schnell und sicher online bezahlen – mit PayPal." ">
  <img alt=""

Нажав на логотип «Купить сейчас», JS должен проверить, выбрана ли опция.Я использую Materialise Framework, и это поле выбора:

<select>
  <option value="0" disabled selected>Kategorie</option>
  <option value="1">Beauty</option>
  <option value="2">Technik</option>
  <option value="3">Deko</option>
</select>

Так что никаких идентификаторов или имен классов, это единственный выбор на странице.

Мой Javascript, который я пробовал выглядитвот так:

function isSelected() {
  if (getElementsByTagName("select").value == '0') {
    alert("Bitte eine Kategorie auswählen!");
  }
}

Как вы думаете, ребята, я мог бы решить проблему?Я проверил похожие вопросы, но не решил их.

Ответы [ 2 ]

0 голосов
/ 17 декабря 2018

A) если он отключен, есть ли смысл его выбирать?просто логический вопрос, может быть, ваша структура может вызвать проблемы с этим тоже B) options [selectedIndex] .value - это то, на что вы должны смотреть

var paypalSelect = getElementsByTagName("select")[0], // only if it really is the first SELECT on your page .. otherwise .. see below
ppsIndex = paypalSelect.selectedIndex, 
ppsValue = paypalSelect.options[ ppsIndex ].value

, вы можете рассмотреть возможность присвоения ему идентификатора, например так:

<select id="paypal_select_Kategorie">…</select>

, а затем

var paypalSelect = document.querySelector( '#paypal_select_Kategorie' ) // etc.pp.

Итак ... чтобы собрать все воедино: Сначала введите: image: отправьте прослушиватель onclick:

onclick=checkCategory(this)

Затем добавьте эту функцию:

function checkCategory( ppSelect ){
  var ppsIndex = ppSelect.selectedIndex, 
    ppsValue = ppSelect.options[ ppsIndex ].value
  if( parseInt( ppsValue ) == 0 ) console.log( "disabled standard" ); else console.log( "non-standard selection: "+ ppsValue )
}
0 голосов
/ 17 декабря 2018

Использование JS должно быть вашим последним выбором;) (если вы хотите только проверить, выбрано ли что-то) Попробуйте использовать поля require в html5 и используйте проверки.https://www.w3schools.com/tags/att_select_required.asp

...