0

ページに複数のフォームがあり、非表示の入力値に応じて、異なるセクションが呼び出されます。

今私の問題は、フォームの1つに2つの入力ボタンがあり、クリックするボタンに応じて、適切な非表示の入力タイプを送信する必要があるということです。

たとえば、以下のフォームで。[パスワードの生成]ボタンをクリックすると、ターゲット値(非表示の入力フィールドの値)がgenerate_passwordとして必要になります

[パスワードのロック]をクリックすると、ターゲット値をuser_lockedにします。これが私のコードです。

    puts "<input type=\"hidden\" name=\"target\" value=\"user_locked\">"
    puts "<tr><td colspan='4'> New User request Review</td></tr>"
    puts "<tr><td><label for=\"full_name\"> Full Name </label></td>"
    puts "<td><input type=\"text\" value =\"$name\" name =\"full_name\" readonly=\"readonly\"></td>"

    puts "<tr><td><input type=\"button\" value=\"Generate Password\" onclick=\"if(confirm('Are you user you want to add this user?')){submit()};\"></td>"
    puts "<td><input type=\"button\" value=\"Lock User\" onclick=\"if(confirm('Are you user you want to add this user?')){submit()};\"></tr>"

さて基本的に私は隠しフィールドに応じて異なる関数を呼び出しています、

set target "";      catch { set target $CGI_DATA(target) }
switch $target {
    "confirm"   { set id [UpdateUserData $id] }
    "user_locked    { DeleteUser $id }
    "user_confirmed"        { NewUserConfirmed}
    "newuser"   { NewUserReview }
    default     { }
}
4

2 に答える 2

1

HTMLの場合:

<input type="hidden" id="target" name="target" value="user_locked">

..。

<input type="button" value="Generate Password" id="generate_button"/>
<input type="button" value="Lock User" id="lock_user"/>

JS(jQuery)の場合:

$("#generate_password,#lock_user").click(function(){
    ("#target").val($(this).attr("id"));
    $("form.myform").submit();
});

これらの要素のIDとクラスを変更できますが、JSとHTMLが一致していることを確認してください。

于 2012-05-19T16:08:15.670 に答える
1

onclickイベントのコードは、フォームを送信するだけでなく、確認時にそれを行うことができます。jQueryを使用する場合:

if(confirm('Are you user you want to add this user?')){
    $("input[name=target]").val('Generate password');
    submit();
}

他の入力ボタンの1つは非常に似ているはずです。

別の方法でフォームを送信するためにどのボタンが押されたかを知る方法がある可能性もあります。私の記憶が正しければ、PHPでは少なくともボタンの名前が_REQUEST変数で渡されます。

于 2012-05-19T16:09:15.403 に答える