0

メールアドレスを事前入力しようとしているメール購読者フォームがあります (フォームに表示されます)。

使用するメールアドレスは URL に含まれています

http://www.domain.com/page?email=joe@emailaccount.com  

フォームの入力フィールドは次のとおりです。

<input class="text" id="awf_field-48578149" type="text" name="email" value="" tabindex="501"  />

このページは WordPress を CMS として実行しているサイトにあるため、セキュリティ上の問題から「PHP を許可する」プラグインを使用して PHP を実行したくありません。カスタム PHP ページ テンプレートを作成し、PHP で変数を割り当ててから JavaScript 経由で HTML を割り当てる言語を含めてみました。

最初に、以下を含む custom-page.php ページ テンプレートを作成しました。

<?php
/*
Get email from URL and set to email1 variable
*/
$email1 = $_GET['email'];
?>

<script type="text/javascript">
    var email2 = <?php echo json_encode($email1); ?>;
    document.getElementById("awf_field-48578149").value = email2;
</script>

次に、custom-page.php テンプレートを使用して、Wordpress ページにフォーム コードを含めました。

課題は、ページがロードされたときに入力ボックスに表示される変数値を取得することです (事前入力)。

私は決してコーダーではありませんが、助けていただければ幸いです。何か案は?

フォーム コードは次のとおりです (テンプレートを使用した Wordpress ページ上)。

<!-- AWeber Web Form Generator 3.0 -->
<form method="post" class="af-form-wrapper" action="http://www.aweber.com/scripts/addlead.pl"  >
<div style="display: none;">
<input type="hidden" name="meta_web_form_id" value="787465482" />
<input type="hidden" name="meta_split_id" value="" />
<input type="hidden" name="listname" value="mhpc001" />
<input type="hidden" name="redirect" value="http://www.aweber.com/thankyou-coi.htm?m=text" id="redirect_3b0dde6df528b65fe85ebedf277b6e10" />

<input type="hidden" name="meta_adtracking" value="Existing_Owner" />
<input type="hidden" name="meta_message" value="1" />
<input type="hidden" name="meta_required" value="name,email" />

<input type="hidden" name="meta_tooltip" value="" />
</div>
<div id="af-form-787465482" class="af-form"><div id="af-header-787465482" class="af-header"><div class="bodyText"><p>&nbsp;</p></div></div>
<div id="af-body-787465482"  class="af-body af-standards">
<div class="af-element">
<label class="previewLabel" for="awf_field-48578148">Name: </label>
<div class="af-textWrap">
<input id="awf_field-48578148" type="text" name="name" class="text" value=""  tabindex="500" />
</div>
<div class="af-clear"></div></div>
<div class="af-element">
<label class="previewLabel" for="awf_field-48578149">Email: </label>
<div class="af-textWrap"><input class="text" id="awf_field-48578149" type="text" name="email" tabindex="501"  />
</div><div class="af-clear"></div>
</div>
<div class="af-element buttonContainer">
<input name="submit" class="submit" type="submit" value="Submit" tabindex="502" />
<div class="af-clear"></div>
</div>
</div>
</div>
<div style="display: none;"><img src="http://forms.aweber.com/form/displays.htm?id=7BzsLGysLBxM" alt="" /></div>
</form>

<!-- /AWeber Web Form Generator 3.0 -->
4

2 に答える 2

0

コードを でラップしてみてください:

jQuery(document).ready(function(){ //code here });

これにより、ブラウザはページの読み込みが完了するまでコードの実行を待機します。また、クロスサイト スクリプティングから身を守るために、Javascript に渡される文字列がメール アドレスのみであり、コードではないことを確認することを検討することもできます。

于 2013-05-04T11:47:34.653 に答える