6

結果を表示するテーブルがあります。更新フォーム全体を必要とせずに、セル/フィールドの結果を個別に更新できるようにしたいと考えています。

ここに私が持っているものがあります:

echo "<select name='tv_taken' id='tv_taken' onchange='window.location=\"samepage.php?update=tv_taken&update_id=$tv_id\" '>";

おそらく、ユーザーのリストを含む選択ボックスであることがわかります。唯一の問題は、新しく選択した値を URL 文字列に渡す必要があることです。そのため、選択した新しい値が必要です。

たとえば、それがメアリーで、誰かが新しいユーザーのジョンを選んだとしましょう。私はこのようなものが欲しいです

echo "<select name='tv_taken' id='tv_taken' onchange='window.location=\"samepage.php?update=tv_taken&update_id=$tv_id&user_name=$find_username\" '>";

私が確信していないのは、変更された値をphp経由で渡す方法があるか、それともjavascriptソリューションが必要ですか?

次に使用します

IF if(isset($_GET['tv_id'])) 
{
Do the update
}

これは公開サイトではないので、もっと安全な方法があると思いますが、このページを見る前にログインする必要があるのは、それを使用するチーム メンバーだけなので、おそらくこれで十分でしょう。

4

2 に答える 2

15

これを実現するには、JavaScriptを使用する必要があります。

jQueryソリューションは次のとおりです。

$('#tv_taken').change(function() {
    window.location = "samepage.php?update=tv_taken&update_id=" + $(this).val();
});

そして、これがバニラJavaScriptソリューションです。

document.getElementById('tv_taken').onchange = function() {
    window.location = "samepage.php?update=tv_taken&update_id=" + this.value;
};
于 2012-09-08T13:02:32.400 に答える
1
window.addEventListener('load', function(){
    var select = document.getElementById('tv_taken');

    select.addEventListener('change', function(){
        window.location = 'pagename.php?tv_id=' + this.value;
    }, false);
}, false);
于 2012-09-08T13:08:44.517 に答える