さて、私はウェブサイト上にチャレンジシステムを作成しています。送信ボタンがどこにあるかを各ステップでリストアップします。これにより、理解しやすくなります。
Webサイトページの各ユーザーの横にチャレンジボタンが表示されます。
チャレンジボタンをクリックすると、モーダルウィンドウがポップアップし、そのユーザーの各キャラクターが表示されます。モーダルウィンドウにリストされている各キャラクターには、キャラクターの詳細の下に独自のチャレンジボタンがあり、各キャラクターの左側には、キャラクターをリストするドロップダウンメニューがあります。(ページを表示している現在ログインしているユーザー)
今私が欲しいのは、ログインしたユーザーが、チャレンジボタンがサーバー側のコード/機能/必要なものをアクティブにする前に、ドロップダウンからキャラクターの1つを選択する必要があることです。
ログインしたユーザーがドロップダウンメニューからキャラクターの1つを選択したら。彼らはチャレンジボタンをクリックすることができ、それはcustom_post_typeを作成する私がすでに作成した関数をアクティブにし、次に注目の画像がホームページのスライダーに表示される一般的な注目の画像をアップロードします。
その後、別のポップアップが画面に表示され、チャレンジが成功したかどうかが示されます。これはすでにモーダルウィンドウにあるので、いわばポップアップよりもポップアップになることに注意してください。
私は事実上javascriptについてzipを知っており、これが厳密にPHPで実行できることを望んでいます。issetを使用すると可能になることを読みましたが、それを正常に実行する方法はまだわかりません。
何かのようなもの....
if(isset($_POST['challenge']))
{
all of the code that happens after successful click goes here.
}
ボタンの現在のコードはこれです...
<div class="challenge_button">
<form action="<?php $_SERVER['PHP_SELF'];?>" method="post">
<input type="button" name="challenge" value="Challenge">
</form>
</div>
ドロップダウンのサンプルコード:
チャンピオンを選ぶ
<select name="contender">
<option value="0"> ----- </option>
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
<option value="5">5</option>
<option value="6">6</option>
<option value="7">7</option>
<option value="8">8</option>
</select>
可能であれば、これらすべてをどのように結び付けるのでしょうか。
何かのようなもの..............
<div class="challenge_button">
<?php
if (((((drop-down is set return true & grab which option was set and save as variable)))))
{
<form action="<?php $_SERVER['PHP_SELF'];?>" method="post">
<input type="button" name="challenge" value="Challenge">
</form>
}
else
{
echo 'You must setup a champion before you can challenge someone.';
echo 'div class="setup">';
echo 'You can setup your champion <a href="#">here<a>';
echo '</div>';
}
?>
</div>
それから................
コードが正常に実行された場合、モーダルウィンドウ上にポップアップが表示されます。ページを更新したり、別のページに移動したりしたくありません。特定の変数が満たされない場合は、チャレンジ成功または失敗を示すポップアップだけです。
それほどクールではない代替ソリューションを使用しました。この方法でも、カラーボックスは機能しません。
javascript:
<script language="JavaScript">
function loadPage(list)
{
location.href=list.options[list.selectedIndex].value
}
</script>
変数:
$cuser = wp_get_current_user();
$v1 = get_cimyFieldValue($cuser->ID, 'character_name');
$v2 = get_cimyFieldValue($cuser->ID, 'character_name2');
$v3 = get_cimyFieldValue($cuser->ID, 'character_name3');
$v4 = get_cimyFieldValue($cuser->ID, 'character_name4');
$v5 = get_cimyFieldValue($cuser->ID, 'character_name5');
$v6 = get_cimyFieldValue($cuser->ID, 'character_name6');
$v7 = get_cimyFieldValue($cuser->ID, 'character_name7');
$v8 = get_cimyFieldValue($cuser->ID, 'character_name8');
$add = 'http://conspirators.websitedesignbyneo.com/wp-content/themes/conspirators/single-challenge.php?';
$metak = 'class="zoom cboxelement"';
$challenged = $v['toon_name'];
フォーム:
<form>
Choose Your Champion:
<select name="contender"
size="1"
onchange="loadPage(this.form.elements[0])"
target="_parent._top"
onmouseclick="this.focus()">
<option value="0"></option>
<?php if ($v1){echo '<option value="'.$add.'challenged='.$challenged.'&challenger='.$v1.'"'.$metak.'>'.$v1.'</option>';}?>
<?php if ($v2){echo '<option value="'.$add.'challenged='.$challenged.'&challenger='.$v2.'"'.$metak.'>'.$v2.'</option>';}?>
<?php if ($v3){echo '<option value="'.$add.'challenged='.$challenged.'&challenger='.$v3.'"'.$metak.'>'.$v3.'</option>';}?>
<?php if ($v4){echo '<option value="'.$add.'challenged='.$challenged.'&challenger='.$v4.'"'.$metak.'>'.$v4.'</option>';}?>
<?php if ($v5){echo '<option value="'.$add.'challenged='.$challenged.'&challenger='.$v5.'"'.$metak.'>'.$v5.'</option>';}?>
<?php if ($v6){echo '<option value="'.$add.'challenged='.$challenged.'&challenger='.$v6.'"'.$metak.'>'.$v6.'</option>';}?>
<?php if ($v7){echo '<option value="'.$add.'challenged='.$challenged.'&challenger='.$v7.'"'.$metak.'>'.$v7.'</option>';}?>
<?php if ($v8){echo '<option value="'.$add.'challenged='.$challenged.'&challenger='.$v8.'"'.$metak.'>'.$v8.'</option>';}?>
</select>
</form>