0

これは私を狂気に駆り立てており、私は解決策をあちこち探し回っていますが、運がありません...

Aweber サインアップ フォームを使用するフォーム サインアップ ページがあります。フルネームと電子メール アドレスを収集します。

このフォームが送信され、2 番目のページ (確認ページ) にリダイレクトされ、URL の末尾に値が渡されます。

?email=dummyemail%40gmail.com&from=dummyemail%40gmail.com&listname=awlist4009916&meta_adtracking=stillhead&meta_message=1&meta_required=name%2Cemail&meta_split_id=&meta_tooltip=&meta_web_form_id=1277063733&name=Example%20Name

現在、Aweber は確認ページに配置する Javascript のチャンクを提供しており、フォーム データを取得してページで使用できるようにしています。

<script type="text/javascript">
 var formData = function() {  var query_string = (location.search) ? ((location.search.indexOf('#') != -1) ? location.search.substring(1, location.search.indexOf('#')) : location.search.substring(1)) : '';  
var elements = [];  
if(query_string) {     
    var pairs = query_string.split("&");     
    for(i in pairs) {     
        if (typeof pairs[i] == 'string') {           
            var tmp = pairs[i].split("=");           
            var queryKey = unescape(tmp[0]);           
            queryKey = (queryKey.charAt(0) == 'c') ? queryKey.replace(/\s/g, "_") : queryKey;   
            elements[queryKey] = unescape(tmp[1]);      
             }    
       } 
 }  
return {     
    display: function(key) {         
        if(elements[key]) {           
             document.write(elements[key]);         
         } 
         else {         
               document.write("<!--If desired, replace everything between these quotes with a default in case there is no data in the query string.-->");          
          }     
  }   
} 
}
(); </script>

次に、メールアドレスに電話するには、次のように言います。

<script type="text/javascript">formData.display("email")</script>

これは機能します。私はここまで来ました。

私が今やりたいことは、電子メール アドレスを表示する代わりに、フォーム フィールドにこのデータを入力したいということです。

フォーム フィールドは、wordpress プラグインによって生成されたフォームに配置されます (そのため、そこにジャンプすることはできません)。これが出力のチャンクです。

<li class="swpm-item swpm-item-email  " id="item-swpm-5">
    <label for="swpm-5" class="swpm-desc">Email  <span class="swpm-required-asterisk">*</span></label>
    <span class="swpm-span">
        <input type="email" name="swpm-5" id="swpm-5" value="" class="swpm-text  swpm-medium  required  email "><p>Email</p>
    </span>
</li>

私はjQueryでさまざまな方法を試しましたが、それを理解することができないようで、気が狂っています。

次のような単純なものを想定しました。

$( document ).ready(function() {
    $('#swpm-5').val(formData.display("email"));
});

しかし、それは失敗しました。

それから私は試しました

$( document ).ready(function() {
    var emailaddr = formData.display("email");
    $( "#swpm-5" ).val( emailaddr );
});

しかし、まだ運がありません。

誰でもこれについて助けてもらえますか?決定的な何かを見逃したに違いないような気がします。

4

1 に答える 1