2014-12-02 144 views
0

我想知道如何使形式「提交」也是一個echo("<a href='.signalservice/subscription.php?customer_id=" . $result->customer->id . "'>Create subscription for this customer</a>");PHP回聲形式提交

我的代碼是:

if ($result->success) { 
echo ' 
<form action="//tradeitsimple.us3.list-manage.com/subscribe/post?u=fc50a4fa89bccc3ad26bb4c71&amp;id=b9d9e2fe10" method="post" id="mc-embedded-subscribe-form" name="mc-embedded-subscribe-form" class="validate" target="_blank" novalidate> 
<label for="mce-EMAIL">You will receive signals through email, please leave your email address!</label> 
<input type="email" value="" name="EMAIL" class="email" id="mce-EMAIL" placeholder="email address" required> 
<input type="submit" value="Subscribe" name="subscribe" id="mc-embedded-subscribe" class="button"> 


'; 


    echo("Success! Customer ID: " . $result->customer->id . "<br/>"); 
    echo("<a href='.signalservice/subscription.php?customer_id=" . $result->customer->id . "'>Create subscription for this customer</a>"); 
} else { 
    echo("Validation errors:<br/>"); 
    foreach (($result->errors->deepAll()) as $error) { 
     echo("- " . $error->message . "<br/>"); 
    } 
} 
?> 

回答

0

如果你想既,提交表單和重定向我推薦使用jQuery。爲您的鏈接添加一個ID並阻止preventDefault()的默認操作。然後,您可以通過AJAX請求提交表單,並在發佈表單後重定向到鏈接的src。試試這個:

if ($result->success) { 
echo ' 
<form action="//tradeitsimple.us3.list-manage.com/subscribe/post?u=fc50a4fa89bccc3ad26bb4c71&amp;id=b9d9e2fe10" method="post" id="mc-embedded-subscribe-form" name="mc-embedded-subscribe-form" class="validate" target="_blank" novalidate> 
<label for="mce-EMAIL">You will receive signals through email, please leave your email address!</label> 
<input type="email" value="" name="EMAIL" class="email" id="mce-EMAIL" placeholder="email address" required> 
<input type="submit" value="Subscribe" name="subscribe" id="mc-embedded-subscribe" class="button"> 
'; 


    echo("Success! Customer ID: " . $result->customer->id . "<br/>"); 
    echo("<a id=\"myLinkId\" href='.signalservice/subscription.php?customer_id=" . $result->customer->id . "'>Create subscription for this customer</a>"); 
} else { 
    echo("Validation errors:<br/>"); 
    foreach (($result->errors->deepAll()) as $error) { 
     echo("- " . $error->message . "<br/>"); 
    } 
} 
?> 


<script src="http://code.jquery.com/jquery-1.11.1.min.js"></script> 
<script> 
    $(document).on('click','#myLinkId',function(e) 
    { 
     e.preventDefault(); 
     var link  = $(this); 
     var form  = $('#mc-embedded-subscribe-form'); 
     var dataArray = form.serializeArray(); 

     $.post(form.attr('action'), dataArray, function(){ 

      window.location.href=link.attr('src'); 

     }); 
    }); 
</script>