JS+PHP 는 사용자 가 숫자 를 입력 한 후 가장 큰 값 과 위 치 를 표시 합 니 다.
분석 하 다.
1.JS 의 prompt 를 이용 하여 사용자 가 입력 하고 자 하 는 값 을 입력 합 니 다.
2.HTML 폼 의 text 탭 을 이용 하여 입력 한 값 을 PHP 처리 파일 에 전달
3.PHP 에서 수치 판정 을 하고 최대 값 과 위 치 를 선택 합 니 다.
얕 은 것 에서 깊 은 것 으로 들어가다.
1.JS 에서 배열 의 최대 값 을 가 져 옵 니 다.
var a=[10,20,40,30];
// var max=0;
var max=a[0];
for(var i=0;i<a.length;i++){
if(max<a[i]){
max=a[i];
}
}
alert(" "+max);
여기 서 주의해 야 할 것 은 변 수 를 max=0 으로 직접 설정 할 수 없습니다.나중에 입력 한 숫자 가 0 보다 작은 것 인지 0 보다 큰 것 인지 확실 하지 않 기 때문에 배열 안의 한 수 를 선택해 야 합 니 다.배열 의 첫 번 째 것 만 좋 습 니 다max=a[0]
.JS 언어 는 대상 을 대상 으로 하 는 과정 을 바탕 으로 하기 때문에 JS 안의 모든 사물 이 대상 이 될 수 있 기 때문에 그의 배열 은 속성 이 있 습 니 다.length 는 JS 배열 의 한 배열 의 길 이 를 얻 는 속성 입 니 다.이 속성 이 있 으 면 배열 을 옮 겨 다 니 고 일일이 비교 할 수 있 습 니 다.
2.JS 에서 배열 의 최대 치 최소 치 와 그들의 위 치 를 얻 습 니 다(즉,배열 에서 몇 번 째).
[비고:본 사례 위치+1 은 보기 편 하도록 JS 배열 시작 도 0]
var a=[10,20,40,30];
var max=a[0];// [var max=0]( ), ,a[0] .
var maxaddress=0;
var min=a[0];
var minaddress=0;
for(var i=0;i<a.length;i++){
if(max<a[i]){
max=a[i];
maxaddress=i
}
if(min>a[i]){
min=a[i];
minaddress=i
}
}
alert(" "+max+" "+(maxaddress+1)+" ");
alert(" "+min+" "+(minaddress+1)+" ");
3.현재 prompt 로 사용자 입력 획득 치 를 변경 하여 최대 치 를 구 합 니 다.난점:
1.어떻게 입력 하 는 지,prompt 로 입력 하 는 지
2.어떻게 문자열 을 배열 로 바 꾸 고 형식 을 바 꿉 니까?
전제 지식:
1.JS 의 string 대상 을 문자열 로 나 누 는 spilt 방법(JS 는 모든 것 이 대상 이 므 로 방법 이 라 고 부 르 지 함수 라 고 부 르 지 않 음)
2."abc"문자열 을 number 형식 으로 바 꾸 고 어떻게 바 꿉 니까?
◆Number
★ , 。var n1="123"; var n2=Number(n1);//123
★★ , NaN。var n1="123abc"; var n2=Number(n1);//Nan
★ , 。var n1="123.23"; var n2=Number(n1);//123.23
◆parseInt
★ , 。var n1="123"; var n2=parseInt(n1);//123
★ , 。var n1="123abc"; var n2=parseInt(n1);//123
★ , NaN。。var n1="abc123"; var n2=parseInt(n1);//NaN
★★ , ( )。var n1="123.53"; var n2=parseInt(n1);//123 var n1="-5.93"; var n2=parseInt(n1);//-5
◆parseFloat
★ , 。var n1="123"; var n2=parseFloat(n1);//123
★ , 。var n1="123abc"; var n2=parseFloat(n1);//123
★ , NaN。var n1="abc123"; var n2=parseFloat(n1);//NaN
★★ , 。var n1="123.23"; var n2=parseFloat(n1);//123.23
★ true。
★undefined、null、0 false.
var n1=123; var n2=Boolean(n1);//true
var n1="123"; var n2=Boolean(n1);//true
var n1="0"; var n2=Boolean(n1);alert(n2);//true
var n1; var n2=Boolean(n1);//false
var n1=null; var n2=Boolean(n1);//false
var n1=0; var n2=Boolean(n1);//false
이상 분석 이 끝나 면 코드 를 쓰기 시작 합 니 다.
<script>
//var a=new Array(-12,34,56,88,32,"aa","-34.33","-34.34",12.23);
/*var a=new Array(prompt(" "));
document.write(a);*/
var b=prompt(" , \",\" ");
var a=new Array();
a=b.split(",");
// for(var j=0;j<a.length;j++){
// document.write(a[j]);
// }
alert(typeof(a)+" JS !!");// PHP , ( length)
document.write(a+"<br>");
console.log(a+"<br>");
var max=parseFloat(a[0]);
//document.write(max);
var maxaddress=0;
var min=parseFloat(a[0]);
var minaddress=0;
for(var i=0;i<=a.length;i++){
var shu=parseFloat(a[i]);
if(shu>max){
max=shu;
maxaddress=i;
}
if(shu<min){
min=a[i];
minaddress=i;
}
}
document.write(" "+max+" "+(maxaddress+1)+" "+"<br>");
document.write(" "+min+" "+(minaddress+1)+" ");
</script>
4.이상 은 JS 가 처 리 했 습 니 다.제 목적 은 JS+PHP+HTML 을 연결 하 는 것 입 니 다.PHP 는 사용자 가 입력 한 값 을 직접 가 져 올 수 없고 html form 폼 을 통 해 직접 대화 할 수 없습니다.
JS 데 이 터 를 PHP 에 전송 하면 AJAX 를 사용 할 수 있 지만 나중에 말씀 드 리 겠 습 니 다.오늘 무슨 방법 이 있 는 지 보 겠 습 니 다.
1.HTML 폼 만 들 기:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
</head>
<body>
<form action="deal.php" method="post">
:<input type="text" id="shu" name="shuzi" value="">
<input type="submit" value=" ">
</form>
</body>
</html>
2.JS 가 HTML 에 전달 하 는 값:
<script type="text/javascript">
var a=prompt(" ");
document.getElementById("shu").value=a;
</script>
여기에 JS 코드 를 HTML 헤더 에 쓰 면 오류 가 발생 할 수 있 습 니 다.Uncaught TypeError: Cannot set property 'value' of null
브 라 우 저 분석 순서 때문에 브 라 우 저 에서 JS 를 분석 할 때(숫자 입력 이 완료 되 었 을 때)브 라 우 저 는 HTML 을 분석 하기 시 작 했 습 니 다.JS 는 text 의 value 를 부 여 했 지만 뒤의 HTML 에 의 해 text 의 value 가 NULL 로 해석 되 었 습 니 다.이것 은 자가 당 착 입 니 다.그래서 가능 한 한 JS 코드 를 뒤에 쓰 도록 하 세 요.먼저 HTML 을 분석 한 다음 에 제 가 값 을 드 리 겠 습 니 다.(구체 적 인 상황 을 구체 적 으로 분석 하면 JS 코드 가 모두 머리 에 있 는 것 은 아 닙 니 다)
5.자,HTML 값 을 전 달 했 습 니 다.이제 PHP 를 봅 니 다.
<?php
header("Content-type:text/html;charset=utf-8");
$a=$_POST['shuzi'];
//var_dump($a);
$b=explode(',',$a);
for($i=0;$i<count($b);$i++){
echo $b[$i];
}
var_dump($b);
$max=$b[0];
$maxaddress=0;
for($j=0;$j<count($b);$j++){
if($b[$j]>$max){
$max=$b[$j];
$maxaddress=$j;
}
}
echo " ".$max."<br>";
echo " ".($maxaddress+1)." ";
?>
여 기 는 주로 explode(문자열 을 배열 로 나 누 기)count(배열 의 개 수 를 얻 기)를 봅 니 다.그리고 유형 전환 문제 에 주의 하 세 요.나중에 보충 하거나 직접 쓰 세 요.
마지막 위의 그림:
총결산
이상 은 이 글 의 전체 내용 입 니 다.본 논문 의 내용 이 여러분 의 학습 이나 업무 에 어느 정도 도움 이 되 기 를 바 랍 니 다.궁금 한 점 이 있 으 시 면 댓 글 을 남 겨 주 셔 서 저희 에 대한 지지 에 감 사 드 립 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
[2022.04.19] 자바스크립트 this - 생성자 함수와 이벤트리스너에서의 this18일에 this에 대해 공부하면서 적었던 일반적인 함수나 객체에서의 this가 아닌 오늘은 이벤트리스너와 생성자 함수 안에서의 this를 살펴보기로 했다. new 키워드를 붙여 함수를 생성자로 사용할 때 this는...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.