管理者ユーザーが既存の名前エントリを選択して編集可能にするように設計されたインターフェイスがあります。
レンダリングされたコードは次のように始まります
<td class="selectname" colspan="2" style="width: 220px; display: table-cell;">
<select name="PersonSelect" id="PersonSelect" style="font-size:10px">
<option></option>
<option value="123">Aamodt, Jodi</option>
...
そして、選択が行われた後、選択値がクリアされ、TDが非表示になります
<td class="selectname" colspan="2" style="width: 220px; display: none;">
そして、2つの新しい入力が表示されます。
<td class="entername" style="display: table-cell;"><input type="text" size="12" name="First" id="First" value="" class="required valid"></td>
<td class="entername" style="display: table-cell;"><input type="text" size="12" name="Last" id="Last" value="" class="required valid"></td>
発生している問題は、管理者の1人が、選択メニューで人を選択しても何も変わらないと言っていることです。たとえば、テキスト入力は表示されず、選択入力は消えません。
ユーザーと私はどちらもChromeのページにアクセスしています。ユーザーは特に技術的ではありませんが、与えられたスクリーンショットは症状について明確でした。JavaScriptは、同じページの読み込み中にユーザーのJavaScript検証ルーチンが成功しているため、Chromeでオフにされていません。ユーザーと私は同じデータセットを読み込んでいるので、これはデータ自体に関連する破損の問題ではないはずです。
ajax変更機能は以下のとおりです。
何かアドバイス?
$("#PersonSelect").change(function() {
$.ajax({
url: 'person_form_populater.php?person=' + $("#PersonSelect").val() + '&entity=' + $("#Entity").val(),
dataType: 'json',
success: function(data) {
if (data['found']) {
alert('There is already a record linking that person to this entity');
$('#First_' + data['found']).focus();
var origColor = $('#bmformtable_' + data['found']).css("background-color");
$('#bmformtable_' + data['found']).css("border", '0px solid #f00');
$('#bmformtable_' + data['found']).animate({
borderWidth: 5
}, 2000, "linear", function() {
$('#bmformtable_' + data['found']).animate({
borderWidth: 0
}, 2000, "linear", function() {
});
});
} else {
$('#togglelink').click();
$('#First').val(data['First']);
$('#Last').val(data['Last']);
$('#Occupation').val(data['Occupation']);
if (data['Gender'] == 'Male') {
$("#Gender").attr('checked',true);
} else if (data['Gender'] == 'Female') {
$("#Gender2").attr('checked',true);
} else {
$("#Gender").attr('checked',false);
$("#Gender2").attr('checked',false);
}
$('#Race').val(data['Race']);
$('#Income').val(data['Income']);
$('#Person').val(data['ID']);
}
}
});
});
//編集この機能を使用すると、ユーザーはロードされたレコードを「選択解除」して、選択メニューに再度アクセスできます。
$("#togglelink,#togglelink2").click(function(){
$('#PersonSelect option').attr('selected', false);
$('#First').val('');
$('#Last').val('');
$('#Occupation').val('');
$("#Gender").attr('checked',false);
$("#Gender2").attr('checked',false);
$('#Race').val('');
$('#Income').val('');
$('#Person').val('');
$(".entername, .selectname, #togglelink, #togglelink2").toggle();
});