PDA

View Full Version : سوال: کمک در نوشتن یک خط کد php



saeidrp
شنبه 20 فروردین 1390, 11:09 صبح
من یک کد html به صورت زیر دارم:

<input id="date_input_2" type="text" /><img id="date_btn_2" src="cal.png" style="vertical-align: top;" />
<script type="text/javascript">
Calendar.setup({
inputField : "date_input_2", // id of the input field
button : "date_btn_2", // trigger for the calendar (button ID)
ifFormat : "%Y-%m-%d %H:%M", // format of the input field
showsTime : true,
dateType : 'jalali',
timeFormat : "24",
weekNumbers : false
});
</script>
که با کلیک بر روی یک آیکن تابعcalendar.setup و پارامترهای آن از یک فایل جاوا اسکریپت فراخوانی می شود.
حالا یکی لطفاً به من بگه اگه بخوام کد بالا را در روییداد onclickکد پایین قرار بدهم تابع calendar.setup و پارامترهایش به چه صورت نوشته می شوند؟

$strTestDateStart = '<input name="date_input_2" id="date_input_2" class=inp type=text size=20><a href="javascript:void(0);" title="as"><img src="cal.png" alt="as" class="calendar-icon" style="vertical-align: top;" id="date_btn_2" onclick=" " ></a>';
echo ($strTestDateStart) ;
این هم خود تابع calendar.setup که در یک فایل جاوااسکریپت مجزا است.

Calendar.setup = function (params) {
function param_default(pname, def) { if (typeof params[pname] == "undefined") { params[pname] = def; } };

param_default("inputField", null);
param_default("displayArea", null);
param_default("button", null);
param_default("eventName", "click");
param_default("ifFormat", "%Y/%m/%d");
param_default("daFormat", "%Y/%m/%d");
param_default("singleClick", true);
param_default("disableFunc", null);
param_default("dateStatusFunc", params["disableFunc"]); // takes precedence if both are defined
param_default("dateText", null);
param_default("firstDay", null);
param_default("align", "Br");
param_default("range", [1000, 3000]);
param_default("weekNumbers", true);
param_default("flat", null);
param_default("flatCallback", null);
param_default("onSelect", null);
param_default("onClose", null);
param_default("onUpdate", null);
param_default("date", null);
param_default("showsTime", false);
param_default("timeFormat", "24");
param_default("electric", true);
param_default("step", 2);
param_default("position", null);
param_default("showOthers", false);
param_default("multiple", null);
param_default("dateType", "gregorian");
param_default("ifDateType", null);
param_default("langNumbers", false);
param_default("autoShowOnFocus", false);
param_default("autoFillAtStart", false);

var tmp = ["inputField", "displayArea", "button"];
for (var i in tmp) {
if (typeof params[tmp[i]] == "string") {
params[tmp[i]] = document.getElementById(params[tmp[i]]);
}
}
if (!(params.flat || params.multiple || params.inputField || params.displayArea || params.button)) {
alert("Calendar.setup:\n Nothing to setup (no fields found). Please check your code");
return false;
}

if (params.autoFillAtStart) {
if (params.inputField && !params.inputField.value)
params.inputField.value = new Date(params.date).print(params.ifFormat, params.ifDateType || params.dateType, params.langNumbers);
if (params.displayArea && !params.displayArea.innerHTML)
params.displayArea.innerHTML = new Date(params.date).print(params.ifFormat, params.ifDateType || params.dateType, params.langNumbers);
}

function onSelect(cal) {
var p = cal.params;
var update = (cal.dateClicked || p.electric);
if (update && p.inputField) {
p.inputField.value = cal.date.print(cal.dateFormat, p.ifDateType || cal.dateType, cal.langNumbers);
if (typeof p.inputField.onchange == "function")
p.inputField.onchange();
}
if (update && p.displayArea)
p.displayArea.innerHTML = cal.date.print(p.daFormat, cal.dateType, cal.langNumbers);
if (update && typeof p.onUpdate == "function")
p.onUpdate(cal);
if (update && p.flat) {
if (typeof p.flatCallback == "function")
p.flatCallback(cal);
}
if (update && p.singleClick && cal.dateClicked)
cal.callCloseHandler();
};

if (!params.flat) {
var cal = new Calendar(params.firstDay,
params.date,
params.onSelect || onSelect,
params.onClose || function(cal) { cal.hide(); });

} else {
if (typeof params.flat == "string")
params.flat = document.getElementById(params.flat);
if (!params.flat) {
alert("Calendar.setup:\n Flat specified but can't find parent.");
return false;
}
var cal = new Calendar(params.firstDay, params.date, params.onSelect || onSelect);

if (params.inputField && typeof params.inputField.value == "string" && params.inputField.value) {
cal.parseDate(params.inputField.value, null, params.ifDateType || cal.dateType);
}
}
cal.showsTime = params.showsTime;
cal.time24 = (params.timeFormat == "24");
cal.weekNumbers = params.weekNumbers;
cal.dateType = params.dateType;
cal.langNumbers = params.langNumbers;
cal.showsOtherMonths = params.showOthers;
cal.yearStep = params.step;
cal.setRange(params.range[0], params.range[1]);
cal.params = params;
cal.setDateStatusHandler(params.dateStatusFunc);
cal.getDateText = params.dateText;
cal.setDateFormat(params.inputField ? params.ifFormat : params.daFormat);
if (params.multiple) {
cal.multiple = {};
for (var i = params.multiple.length; --i >= 0;) {
var d = params.multiple[i];
var ds = d.print("%Y%m%d", cal.dateType, cal.langNumbers);
cal.multiple[ds] = d;
}
}

if (!params.flat) {
var triggerEl = params.button || params.displayArea || params.inputField;
triggerEl["on" + params.eventName] = function() {
if (!cal.element) cal.create();
var dateEl = params.inputField || params.displayArea;
var dateType = params.inputField ? params.ifDateType || cal.dateType : cal.dateType;
if (dateEl && (dateEl.value || dateEl.innerHTML)) params.date = Date.parseDate(dateEl.value || dateEl.innerHTML, cal.dateFormat, dateType);
if (params.date) cal.setDate(params.date);
cal.refresh();
if (!params.position)
cal.showAtElement(params.button || params.displayArea || params.inputField, params.align);
else
cal.showAt(params.position[0], params.position[1]);
return false;
};

if (params.autoShowOnFocus && params.inputField) {
params.inputField["onfocus"] = triggerEl["on" + params.eventName];
};
} else {
cal.create(params.flat);
cal.show();
}
return cal;
};