2016-07-04 3 views
0

Мне нужно получить значение параметра, чтобы заполнить атрибут действия в форме, чтобы он мог открыть веб-сайт. Мой код не работает. Что не хватает для завершения процесса?Как сделать тег опции select заполнить атрибут действия URL-адресом, чтобы он мог открыть этот сайт

<form action=" " name="test"> 
<select name="url"> 
    <option value="google">google</option> 
    <option value="yahoo">yahoo</option> 
</select> 
<input type="submit"/> 
</form> 

<script> 
$("form").submit(function() { 
var selectVal = $('select').value(); 
var url = ''; 
    if(selectVal == "google") url = 'http://www.google.com'; 
    else if(selectVal == "yahoo") url = 'http://www.yahoo.com'; 

    if(url != ''){ 
    window.open(url, '_blank'); 
    } 
    }); 
</script> 

ответ

0

Может попробовать это:

$('form').on('click', '[type=submit]', function(e) { 
    e.preventDefault(); 
    // Get the selection option val 
    var form = $(this).parents('form'); 
    var selectVal = $form.find('select').find(':selected').val(); 
    var url = ''; 
    switch (selectVal) { 
     case 'google': 
      url = 'google.com'; 
     break; 
     case 'yahoo': 
      url = 'yahoo.com'; 
     break; 
    } 

    if (url) { 
     form.attr('action', url); 
     form.submit(); 
    } 
}) 

Надежда, что помогает!

+0

Bene, у этого javascript-кода не было назначено действие. –

+0

Извините, я совершенно неправильно понял, вероятно, из-за «window.open()», который был слишком далек от установки формы для меня, чтобы понять. Я изменил привязку события, чтобы делать то, что вы только что попросили. Это привязано к «форме» и должно использовать идентификаторы или классы, или все формы будут действовать таким образом. – Bene

0

Мне нужно получить значение параметра, чтобы заполнить атрибут действия в форме, чтобы он мог открыть веб-сайт. Мой код не работает. Что не хватает для завершения процесса?

<form action=""> 
<select name="url"> 
    <option value="https://www.google.com">google</option> 
    <option value="https://www.yahoo.com">yahoo</option> 
</select> 
    <input type="submit"/> 
</form> 

<script> 
    function SetData(){ 
    var select = document.getElementById('url'); 
    var test_id = select.options[select.selectedIndex].value; 
    document.form.action = test_id; 
    form.submit(); 
    } 
</script> 

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

  • Нет связанных вопросов^_^