MODNOTE:我使用{}标签格式化代码,但看起来很糟糕。我现在正试图修复它。
我的具体问题是:
我正在设置一个带有javascript变量的标志。我这样做的方式是否合理?
我在这个网站和其他地方对此进行了一些研究,并注意到标志可以在数组中“设置”(1),(2)在隐藏的HTML元素中,(3)在cookie中。我没有看到用.data()设置标志。
是否有“优雅”,“标准”,“接受”的方式来设置在一个页面上使用的标志,以便在if / else语句中做出决定?你如何在这样的情况下设置旗帜?
我的代码如下:
“ready”设置标志为“未设置”。
点击按钮将新信息输入表格 - 标志设置为“添加”
点击现有数据表格中的一行 - 标志设为“更新”
如果flag为“add”,则使用ajax添加到表中,如果flag为“update”,则更新db中的行。
$(document).ready(function() {
var flagaddupdate = "notset";
$("#onsetdate").mask("99-99-9999");
$("#entrydate").mask("99-99-9999");
$("#uonsetdate").mask("99-99-9999");
$("#uentrydate").mask("99-99-9999");
$(function(e) {
$("#reaction").autocomplete({
source: [ "none", "rash/hives", "Nausea/vomiting", "Diarrhea", "Headache", "Dizziness" ],
minlength: 1
});
});
$("#addintoleranceenterbutton").click(function() {
flagaddupdate = "add";
$( "#addintolerancetable" ).dialog(
{height: 320,
width: 450,
modal: true}
);
});//end of add click
$("#patienttable tr").click(function() {
flagaddupdate = "update";
$( "#addintolerancetable" ).dialog(
{height: 320,
width: 450,
modal: true}
);
uniqueid = $(this).find("#uniqueid").html();
$.ajax({
type: "POST",
url: "readintolerancebackend.php",
data: {uniqueid: uniqueid},
dataType : 'json',
})
.done(function(result){
$('#namegen').val(result['namegen']);
$('#nametrade').val(result['nametrade']);
$('#reaction').val(result['reaction']);
$('#onsetdate').val(result['onsetdate']);
$('#entrydate').val(result['entrydate']);
if ( result['status'] == "Active" )
{ $('#active').prop('checked',true);}
else
{ $('#inactive').prop('checked',true);}
})
.always(function(data, textStatus, jqXHR){
console.log(data, textStatus, jqXH);
});
});//end of update click
$("#submitbutton").click(function() {
var namegen = $('#namegen').val();
var nametrade = $('#nametrade').val();
var reaction = $('#reaction').val();
var onsetdate = $('#onsetdate').val();
var entrydate = $('#entrydate').val();
var status = $('input:radio[name=status]:checked').val();
if (flagaddupdate == "add")
{
$.ajax({
type: "POST",
url: "addintolerancebackend.php",
data: {
namegen: namegen, nametrade: nametrade, reaction: reaction,
onsetdate: onsetdate, entrydate: entrydate, status: status
}
})
.done( function( msg ) {alert( "Intolerance Added" + msg );
window.location = "intolerance.php";
})
.always(function(data, textStatus, jqXHR){
console.log(data, textStatus, jqXHR);
});
}
else
{ do another ajax call};