誰かが「編集」ボタンをクリックしたときにフォームを作成しようとしています。私はこの例を次のようだ:jqueryボタンとモーダルフォーム
ボタンは通常のHTMLボタンのようになります。 http://jqueryui.com/demos/dialog/modal-form.html
私は2つの問題を抱えています。クリックすると、jqueryボタンに変わります。次に、もう一度クリックして、ダイアログが表示されます。明らかに、jqueryボタンをクリックするだけでダイアログを開くことができます。
私のフォームはメインページに表示され、編集ボタンをクリックするとダイアログが開きます。メインページには表示されません。ダイアログ内にのみ存在する必要があります。しかし、このチュートリアル(http://jqueryui.com/demos/dialog/modal-form.html)から、私はそれらがフォームを隠しているのを見失ってしまったので、どうやってそれを行うのか分かりません。
マイHTMLフォーム:(すべてのカメラを示す別の表にある)
<div id="dialog-form" title="Change camera settings">
<form>
<fieldset>
<label for="camera_name">Camera Name</label>
<input type="text" size="16" maxlength="32" name="camera_name" id="camera_nameid" class="text ui-widget-content ui-corner-all" />
</fieldset>
</form>
</div>
マイボタン:
<button id="editbutton" onClick='edit(this, "<?php echo htmlentities($_SERVER['REQUEST_URI']); ?>", "<?php echo $result_cameras[$i]["camera_name"]; ?>", "<?php echo $camera_quality; ?>")'>Edit</button>
マイjQueryのコード。それはまだ多くの作業が必要であるが、ちょうどcamera_nameである私が処理だ一つのことがあります。
function edit(t, to, cameraname, cameraquality,)
{
var js = jQuery.noConflict();
js(function() {
var name = js("#camera_name");
allFields = js([]).add(name);
js("input:text").val(cameraname); //fill in the current data for cameraname
js("#dialog-form").dialog({
autoOpen: false,
height: 300,
width: 350,
modal: true,
buttons: {
"Edit camera settings": function() {
allFields.removeClass("ui-state-error");
},
Cancel: function() {
js(this).dialog("close");
}
},
close: function() {
allFields.val("").removeClass("ui-state-error");
}
});
js("#editbutton")
.button()
.click(function() {
js("#dialog-form").dialog("open");
});
});
}
返信いただきありがとうございます。しかし、これで私は今全くダイアログを得ません。私が持っているのは、各行の編集ボタン付きのテーブル(DBからPHPを使用して作成)です。これにより、テーブルの現在の値がフォームに入力されるフォームのダイアログが開きます。それで誰かが編集できます。それで私は値を知っているので、私は編集関数に一連の変数を渡すのです。 – Tom
おっと私はそれを取り戻す。 noConflictを変換するのを忘れました。どうも! – Tom