アプリ版:「スタンプのみでお礼する」機能のリリースについて

貨幣種類計算(?)のプログラミングをつくりたいのですが

<SCRIPT language="JavaScript">
<!--
function syori(){
var ohtml = "<TABLE><TR><TH>金種</TH><TH>枚数</TH></TR>";
var suuti = eval(suuti);
var suuti = Math.floor(form.suuti.value);
var kn = new Array(10000,5000,1000,500,100,50,10,5,1);
var mi = new Array;
for (i=0; i < kn.length; i++) {
mi[i] = suuti / kn[i];
mi[i] = Math.floor(mi[i]);
suuti -= mi[i] * kn[i];
}
for (i=0; i < kn.length; i++) {
ohtml += "<TR><TD>"+kn[i]+"</TD><TD>" +mi[i]+"</TD></TR>";
}
document.getElementById('text').innerHTML= ohtml + "</TBODY></TABLE>";
}
//-->
</SCRIPT>
</HEAD>
<BODY>
<FORM NAME=form>
金額を入力 <INPUT TYPE=TEXT NAME=suuti VALUE="28473"><BR>
処理開始  <INPUT TYPE=BUTTON VALUE="開始" ONCLICK="syori()"><HR>
結果出力<P>
<span id="text"></span>
</FORM>
</BODY>
</HTML>

というのを
フォームに入力ではなく
suuti=eval(prompt("金額を半角数字で入力してください"));
という風に入力させたいのですがどうしたらいいでしょうか?

A 回答 (2件)

こんにちは



題意に沿っているか分かりませんがこういった感じのもの?

<SCRIPT language="JavaScript">
<!--
function syori(n){
var ohtml = "<TABLE><TR><TH>金種</TH><TH>枚数</TH></TR>";
var suuti = Math.floor(n);
var kn = new Array(10000,5000,1000,500,100,50,10,5,1);
var mi = new Array;
for (i=0; i < kn.length; i++) {
mi[i] = suuti / kn[i];
mi[i] = Math.floor(mi[i]);
suuti -= mi[i] * kn[i];
}
for (i=0; i < kn.length; i++) {
ohtml += "<TR><TD>"+kn[i]+"</TD><TD>" +mi[i]+"</TD></TR>";
}
document.getElementById('text').innerHTML= ohtml + "</TBODY></TABLE>";
}

function output() {
document.getElementById('text').innerHTML="";
mysuuti = prompt("金額を入力してください","");
if (mysuuti > 0) {
syori(mysuuti);
}
else {
alert( "数値を入力してください" );
}
}
//-->
</SCRIPT>
</HEAD>
<BODY>
<FORM NAME=form>
<input type="button" value="金額入力" onClick="output()"><BR>
<HR>
結果出力<P>
<span id="text"></span>
</FORM>
    • good
    • 0

こんな感じでどうでしょう?



<SCRIPT language="JavaScript">
<!--
function syori(){
var suuti=prompt('金額を入れてください');
if(!suuti) return false;
if(suuti.match(/[^0-9\.]/)){
alert("数値が不正です");
return false;
}
suuti = Math.floor(parseInt(suuti));//必要?
var ohtml = "<TABLE><TR><TH>金種</TH><TH>枚数</TH></TR>";
var kn = new Array(10000,5000,1000,500,100,50,10,5,1);
var mi = new Array;
for (i=0; i < kn.length; i++) {
mi[i] = suuti / kn[i];
mi[i] = Math.floor(mi[i]);
suuti -= mi[i] * kn[i];
}
for (i=0; i < kn.length; i++) {
ohtml += "<TR><TD>"+kn[i]+"</TD><TD>" +mi[i]+"</TD></TR>";
}
document.getElementById('text').innerHTML= ohtml + "</TBODY></TABLE>";
}
//-->
</SCRIPT>
</HEAD>
<BODY>
<FORM NAME=form>
処理開始  <INPUT TYPE=BUTTON VALUE="開始" ONCLICK="return syori()"><HR>
結果出力<P>
<span id="text"></span>
</FORM>
</BODY>
</HTML>
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!