javascript一个输入字段连接多个函数
我对编程很陌生,有一些问题。 我想创建一个表单(html和javascript),在那里我可以做一些计算。这是关于数字和年份的。所以首先我需要输入字段,在这里我可以输入年份(比如2013年)。该输入值将连接到多个功能:javascript一个输入字段连接多个函数,javascript,html,Javascript,Html,我对编程很陌生,有一些问题。 我想创建一个表单(html和javascript),在那里我可以做一些计算。这是关于数字和年份的。所以首先我需要输入字段,在这里我可以输入年份(比如2013年)。该输入值将连接到多个功能: 计算与当年的差异(如果我要求2018年,则应写5,或者如果我要求2000年,则应写-13,依此类推……) 检查年份是否为闰年(正确/错误或是/否,…) 计算我要求的数字之和(2018=11,2013=6,…) 如果数字是素数(真/假,是/否,…) 反向编号(2013=3102,2
function isleap() {
var yr = document.getElementById("year").value;
if ((parseInt(yr) % 4) == 0) {
if (parseInt(yr) % 100 == 0) {
if (parseInt(yr) % 400 != 0) {
alert("Not Leap");
return "false";
}
if (parseInt(yr) % 400 == 0) {
alert("Leap");
return "true";
}
}
if (parseInt(yr) % 100 != 0) {
alert("Leap");
return "true";
}
}
if ((parseInt(yr) % 4) != 0) {
alert("Not Leap");
return "false";
}
}
反向:
<script type="text/javascript">
var year, b = 0;
year= parseInt(prompt("Enter year: "));
document.write("You've entered: " + year+ "<br />");
while(year> 0) {
b = b * 10
b = b + parseInt(year% 10)
year= parseInt(year/ 10)
}
document.write("Reverse numbers: ", b);
</script>
var年,b=0;
year=parseInt(提示(“输入年份:”);
文档。写入(“您已输入:“+年+”
);
而(年份>0){
b=b*10
b=b+parseInt(第10年)
年份=parseInt(年份/10)
}
文件。填写(“反向编号:”,b);
总数:
<script>
function find() {
var sum = 0;
var no = parseInt(frm.txt1.value);
while (no > 0) {
sum = sum + no % 10;
no = Math.floor(no / 10);
}
alert("Sum of digits " + sum);
}
</script>
<form name="frm">
Enter a Number:<input name="txt1" type="text" />
<input name="b1" onClick="find();" type="button" value="display" />
</form>
函数find(){
var总和=0;
var no=parseInt(frm.txt1.value);
而(否>0){
总和=总和+否%10;
否=数学楼层(no/10);
}
警报(“数字总和”+总和);
}
输入一个数字:
你可以这样打电话
或
函数callAllFunctions(){
功能1();
函数2();
}
你可以这样打电话
或
函数callAllFunctions(){
功能1();
函数2();
}
您只需创建一个调用其他函数的函数,然后将其设置为表单的onclick函数
function processData(){
function1();
function2();
function3();
}
<input name="b1" onClick="processData();" type="button" value="display" />
函数processData(){
功能1();
函数2();
功能3();
}
使用类似PSR建议的逗号分隔不同的函数调用也可以,但我认为这样的结果更好,因为它可以保持标记相对干净,并允许您根据需要更改脚本中的逻辑,而无需直接编辑标记或根据需要添加函数。如果需要,您还可以通过这种方式将一个函数的结果直接传递给另一个函数。您只需创建一个函数来调用其他每个函数,然后将其设置为表单的onclick函数
function processData(){
function1();
function2();
function3();
}
<input name="b1" onClick="processData();" type="button" value="display" />
函数processData(){
功能1();
函数2();
功能3();
}
使用类似PSR建议的逗号分隔不同的函数调用也可以,但我认为这样的结果更好,因为它可以保持标记相对干净,并允许您根据需要更改脚本中的逻辑,而无需直接编辑标记或根据需要添加函数。如果需要,您还可以通过这种方式将一个函数的结果直接传递给另一个函数。我将使用输入参数定义独立于表单的函数。然后,只需将该参数传递给每个函数,并根据需要显示结果
<script type="text/javascript">
function isLeap(yr) {
if ((parseInt(yr) % 4) == 0) {
if (parseInt(yr) % 100 == 0) {
if (parseInt(yr) % 400 != 0) {
return "false";
}
if (parseInt(yr) % 400 == 0) {
return "true";
}
}
if (parseInt(yr) % 100 != 0) {
return "true";
}
}
if ((parseInt(yr) % 4) != 0) {
return "false";
}
}
function reverse(year) {
var b = 0;
year = parseInt(year);
while (year > 0) {
b = b * 10
b = b + parseInt(year % 10)
year = parseInt(year / 10)
}
return b;
}
function sum(no) {
var sum = 0;
while (no > 0) {
sum = sum + no % 10;
no = Math.floor(no / 10);
}
return sum;
}
function outputData() {
var year = form.year.value;
alert("Is leap: " + isLeap(year));
alert("Reversed: " + reverse(year));
alert("Sum: " + sum(year));
}
</script>
<form name="form">
Enter a Number:<input name="year" type="text" />
<input name="b1" onClick="outputData();" type="button" value="display" />
</form>
功能isLeap(年){
如果((parseInt(yr)%4)==0){
如果(parseInt(yr)%100==0){
如果(parseInt(yr)%400!=0){
返回“false”;
}
如果(parseInt(yr)%400==0){
返回“真”;
}
}
如果(parseInt(yr)%100!=0){
返回“真”;
}
}
如果((parseInt(yr)%4)!=0){
返回“false”;
}
}
功能反转(年){
var b=0;
年=parseInt(年);
而(年份>0){
b=b*10
b=b+parseInt(第10年)
年份=parseInt(年份/10)
}
返回b;
}
函数和(否){
var总和=0;
而(否>0){
总和=总和+否%10;
否=数学楼层(no/10);
}
回报金额;
}
函数outputData(){
var year=form.year.value;
警报(“Is leap:+isLeap(年));
警报(“反转:+反转(年));
警报(“总和:+总和(年));
}
输入一个数字:
我将使用输入参数定义独立于表单的函数。然后,只需将该参数传递给每个函数,并根据需要显示结果
<script type="text/javascript">
function isLeap(yr) {
if ((parseInt(yr) % 4) == 0) {
if (parseInt(yr) % 100 == 0) {
if (parseInt(yr) % 400 != 0) {
return "false";
}
if (parseInt(yr) % 400 == 0) {
return "true";
}
}
if (parseInt(yr) % 100 != 0) {
return "true";
}
}
if ((parseInt(yr) % 4) != 0) {
return "false";
}
}
function reverse(year) {
var b = 0;
year = parseInt(year);
while (year > 0) {
b = b * 10
b = b + parseInt(year % 10)
year = parseInt(year / 10)
}
return b;
}
function sum(no) {
var sum = 0;
while (no > 0) {
sum = sum + no % 10;
no = Math.floor(no / 10);
}
return sum;
}
function outputData() {
var year = form.year.value;
alert("Is leap: " + isLeap(year));
alert("Reversed: " + reverse(year));
alert("Sum: " + sum(year));
}
</script>
<form name="form">
Enter a Number:<input name="year" type="text" />
<input name="b1" onClick="outputData();" type="button" value="display" />
</form>
功能isLeap(年){
如果((parseInt(yr)%4)==0){
如果(parseInt(yr)%100==0){
如果(parseInt(yr)%400!=0){
返回“false”;
}
如果(parseInt(yr)%400==0){
返回“真”;
}
}
如果(parseInt(yr)%100!=0){
返回“真”;
}
}
如果((parseInt(yr)%4)!=0){
返回“false”;
}
}
功能反转(年){
var b=0;
年=parseInt(年);
而(年份>0){
b=b*10
b=b+parseInt(第10年)
年份=parseInt(年份/10)
}
返回b;
}
函数和(否){
var总和=0;
而(否>0){
总和=总和+否%10;
否=数学楼层(no/10);
}
回报金额;
}
函数outputData(){
var year=form.year.value;
警报(“Is leap:+isLeap(年));
警报(“反转:+反转(年));
警报(“总和:+总和(年));
}
输入一个数字:
我使用jQuery作为我的抽象库,这被认为是一种最佳实践——非常简单
输入如下:
您可以像这样使用:
$('b1')。在('click',函数(事件){
警报(“我被点击”);
});代码>
$('b1')。在('click',函数(事件){
警惕(“我也听到咔嗒声”);
});代码>
您可以调用任何函数:
$('b1')。在('click',isLeap')代码>
请不要忘记在页面上包含jQuery和以下代码片段:
这被认为是一种最佳实践,