2016-10-19 4 views
-1

У меня есть форма, которая должна изменить действие href на основе флажка. Одно действие - contact.html, а другое - ссылка на внешнюю страницу, ответственную за подписки (freshmail). Например, https://stackoverflow.com. Если я изменяю действие на https://stackoverflow.com, форма не отправляет сообщения на мой адрес электронной почты, а только отправляется на адрес https://stackoverflow.com Как я могу изменить его для отправки писем всегда, но зарегистрируйтесь в freshmail только тогда, когда установлен флажок?Изменение действия href

$('#site.contact #left :checkbox').change(function() { 
    if($(this).is(":checked")) { 
    console.log('checked'); 
    $('.jsForm').attr('action', 'https://app.freshmail.com/pl/actions/subscribe/'); 
} else { 
    $('.jsForm').attr('action', 'kontakt.html'); 
    console.log('unchecked'); 
} 

Код выше изменений действует отлично, но что дальше?

+0

зарегистрироваться на сервере – mplungjan

+0

Если бы я мог, я бы не спросить – user3516973

+0

Ответ использовать CURL или аналогичные на сервере. Вы не сказали нам серверный язык. Вы читаете проверенный статус на сервере и действуете соответствующим образом. Вы не можете иметь одну форму для выполнения двух действий, если вы не используете ajax для своего сервера и THEN подаете на подписку – mplungjan

ответ

0
$('#idcheck').change(function() { 
    if($(this).is(":checked")) { 
    alert("ola"); 
    console.log('checked'); 
    $('.jsForm').prop('action', 'https://app.freshmail.com/pl/actions/subscribe/'); 
} else { 
    $('.jsForm').prop('action', 'kontakt.html'); 
    console.log('unchecked'); 
} 

}); 

Попробуйте использовать вместо attr и закрыть изменение (function() {code});

+0

Я написал, что меняется действие. Я хочу сделать 2 действия, если флажок установлен. Одна из них - внешняя ссылка, а другая - contact.php – user3516973

0

Попробуйте

$(function() { 
    $('#jsForm').on('submit', function(e) { 
    if ($("#subscribe").is(":checked")) { 
     e.preventDefault(); // stop submission 
     $(this).prop('action', 'https://app.freshmail.com/pl/actions/subscribe/'); 
     $.get("kontakt.html",function(data) { 
     $("#result").html(data); // success 
     setTimeout(function() { 
      $('#jsForm').submit(); // note: there can be nothing name="submit" in the form 
     },2000); // give them a chance to read 
     }); 
    }); 
    } 
}); 

использованием

<form id="jsform" action="kontakt.html"> 
    <input type="checkbox id="subscribe" /> 
    <input type="submit" /> 
</form> 
<span id="result"></span> 
Смежные вопросы