2016-04-01 8 views
2

私のウェブサイトには、訪問者からの入力があるフォームがあります。それを送信した後、彼らは入力のベースにJavascriptによって生成されたURLにリダイレクトされます。このように説明するJavascriptのURL出力をHREFとしてHTMLに挿入

:彼らは、入力としてのData1とData2のを与える場合、それらはwww.example.com/ajaData1+Data2

にリダイレクト実は、私は、任意のURLにリダイレクトする必要はありません。投稿ボタンをクリックした後で、そのURLに移動するかどうかを選択できるように、hrefが表示されます。

この1つは私のJavaScript

<script type="text/javascript">function goToPage(){ 
var date = $('input[name=date]:checked').val(); 
var time = $('input[name=time]:checked').val(); 
var subject = $('input[name=subject]:checked').val(); 
window.location.href ="http://bay02.calendar.live.com/calendar/calendar.aspx?rru=-"+date+"-"+time+"-"+subject+"-";}</script> 

であり、この1は私が変更したいhtmlコードです。私の質問は、HTMLのhrefセクションにjavascriptの出力を挿入する方法です。

<div class="group submit"> 
       <label class="empty"></label> 
       <div><input name="submit" type="submit" onclick="goToPaget()" value="Get your appointment!"/></div> 
      </div> 


      <div id="form-message" class="message hide"> 
       Thank you for your request 
      <div id="output" class="message hide "></div> 

       <h4><a href="**SO HERE I WANT TO PUT THE OUTPUT OF THE JAVASCRIPT**" title="Add To Calender">Add To Calender</a></h4> 

      </div> 
+0

リンクタグの 'href'属性を設定しますか? –

+0

デフォルトの送信動作がリダイレクトを停止しないようにすることを検討してください。 – fubbe

+0

$( 'a')。attr( 'href'、 'あなたの値'); –

答えて

2

このような何か:ユーザー入力から文字列を生成した後、あなたのアンカーのhrefを設定するには、jQueryのセレクタを使用して

document.querySelection("div#form-message h4 a").setAttribute(
    "href", 
    PUT YOUR VALUE HERE 
); 
+0

私はあなたの提案に基づいてこれを持っています。それでも、私は生成されたURLに私をつかまえません:https://jsfiddle.net/kutlu01/L688swfz/ – kutlu01

+0

あなたの要素idの前に '#'がないようです。 'document.querySelector("#AddToCalendar ")のようなものが必要です。setAttribute(" href "、link)' –

0

ソリューション:

$('.group.submit').on('click', 'input[type="submit"]', function(){ 
    var date = $('input[name=date]:checked').val(); 
    var time = $('input[name=time]:checked').val(); 
    var subject = $('input[name=subject]:checked').val(); 
    var link = "http://bay02.calendar.live.com/calendar/calendar.aspx?rru=-"+date+"-"+time+"-"+subject+"-"; 

    $('a[title="Add To Calender"]').attr('href', link); 
    $('#output').removeClass('hide'); 
})) 

スクリプトにこのコードを追加します。適切なリンクを生成し、hrefをあなたの「Add To Calender」アンカーに割り当てる必要があります。

<script> 
$(document).ready(function(){ 
     $('#modalon').click(function() { 
      $.ajax({ 
      $('#imgloada4b').hide(); // hide old image 
      var urload = "<?php bloginfo('template_url') ?>/img/loading.gif"; 
      $('#modal1Desc').html("<img href="/img/loading.gif" id='imgloada4b' src='"+urload+"'>"); // show new 
      }); 
     }); 
}); 
</script> 

、それは非常に簡単な解決策ではなく、絶対的な良いことだが、それは解決策だ、第1のTE古いイメージを隠し、画像の親要素に別のものを追加します。

+0

ありがとうございます。しかし、私はそれを起こすことができませんでした。 2つの質問: - あなたが書いた次のコードを正確に入力する場所: "$( 'a [title =" Add to Calender "]')attr( 'href'、link);" 訪問者が送信ボタンを押したときに生成されたリンクを表示できるように、javascriptでHTMLコードを使用させることはできますか? – kutlu01

+0

送信ボタンは関数 'goToPaget'を呼び出しますか?あなたが与えたソースにそのように見えますが、私たちはそれを見ることはできません。そのような場合は、その関数の最後に置くと機能します。別の方法は、jQueryのボタンクリックのリスナーを作成することです。私はそれを私の答えに編集します。 – IrkenInvader

+0

リンクの表示に関しては、推測を行い、リンクを含む出力divから 'hide'クラスを削除するコードを追加しました。 – IrkenInvader

0

たぶん、あなたはこれを行うことができます。

+0

あなたの回答には価値と関連性の高いバディはありません。 – kutlu01

+0

これは一例ですが、私が必要とするコードを書いていないので、修正方法を教えてください。私はAJAXであなたが必要とするアイテムを表示し、クリックするとそのアイテムがリンクで表示されると言います。 – Andrey

関連する問題