자바 스크립트를 사용하여 PHP 변수로 HTML 날짜 요소의 값 설정

매트 허치

그래서 현재 내 페이지에 6 개의 HTML 날짜 요소가 있습니다. 페이지가 다시로드 될 때 입력 된 데이터가 저장되도록 입력 한 내용을 저장하도록 만들려고합니다. 그래서 양식이 게시 될 때 데이터가 사이트 디렉토리의 텍스트 문서에 저장되도록 PHP를 설정했습니다. 완벽하게 작동하는 것은 이제 다시 작동하는 저장된 문서 정보를 얻기 위해 PHP 변수를 만들었습니다. 이제 Javascript를 실행하면 PHP 변수가 건너 뛰어 올바른 정보를 출력하고 있음을 알 수 있습니다. 그러나 날짜 요소는 비어 있습니다. 왜 이것이 될 수 있는지 아는 사람이 있습니까?

요소 예 출력

window.onload = function (){
    var date1Value = 2016-10-01;
    var date2Value = 2016-10-02;
    var date3Value = 2016-10-03;
    var date4Value = 2016-10-04;
    var date5Value = 2016-10-05;
    var date6Value = 2016-10-06;

    document.getElementById("date1").value = date1Value;
    document.getElementById("date2").value = date2Value;
    document.getElementById("date3").value = date3Value;
    document.getElementById("date4").value = date4Value;
    document.getElementById("date5").value = date5Value;
    document.getElementById("date6").value = date6Value;
}

PHP 스 니펫

<?php
$myFile=fopen("USERS/".$Username."/RiskAssessment"."/Date1.txt","r") or exit("Can't open file!");
$setA5 = fgets($myFile);
fclose($myFile);
$myFile=fopen("USERS/".$Username."/RiskAssessment"."/Date2.txt","r") or exit("Can't open file!");
$setA6 = fgets($myFile);
fclose($myFile);

$myFile=fopen("USERS/".$Username."/RiskAssessment"."/Date3.txt","r") or exit("Can't open file!");
$setA11 = fgets($myFile);
fclose($myFile);
$myFile=fopen("USERS/".$Username."/RiskAssessment"."/Date4.txt","r") or exit("Can't open file!");
$setA12 = fgets($myFile);
fclose($myFile);

$myFile=fopen("USERS/".$Username."/RiskAssessment"."/Date5.txt","r") or exit("Can't open file!");
$setA17 = fgets($myFile);
fclose($myFile);
$myFile=fopen("USERS/".$Username."/RiskAssessment"."/Date6.txt","r") or exit("Can't open file!");
$setA18 = fgets($myFile);
fclose($myFile);

if ($_SERVER['REQUEST_METHOD'] == 'POST'){
    $date1 = $_POST['date_1A5'];
    $date2 = $_POST['date_1A6'];
    $date3 = $_POST['date_2A5'];
    $date4 = $_POST['date_2A6'];
    $date5 = $_POST['date_3A5'];
    $date6 = $_POST['date_3A6'];

    $myFile=fopen("USERS/".$Username."/RiskAssessment"."/Date1.txt","w") or exit("Can’t open file!");
    fwrite($myFile, $date1);
    fclose($myFile);
    $myFile=fopen("USERS/".$Username."/RiskAssessment"."/Date2.txt","w") or exit("Can’t open file!");
    fwrite($myFile, $date2);
    fclose($myFile);
    $myFile=fopen("USERS/".$Username."/RiskAssessment"."/Date3.txt","w") or exit("Can’t open file!");
    fwrite($myFile, $date3);
    fclose($myFile);
    $myFile=fopen("USERS/".$Username."/RiskAssessment"."/Date4.txt","w") or exit("Can’t open file!");
    fwrite($myFile, $date4);
    fclose($myFile);
    $myFile=fopen("USERS/".$Username."/RiskAssessment"."/Date5.txt","w") or exit("Can’t open file!");
    fwrite($myFile, $date5);
    fclose($myFile);
    $myFile=fopen("USERS/".$Username."/RiskAssessment"."/Date6.txt","w") or exit("Can’t open file!");
    fwrite($myFile, $date6);
    fclose($myFile);
}
?>

자바 스크립트

<script>
    window.onload = function (){
        var date1Value = <?php echo $setA5;?>;
        var date2Value = <?php echo $setA6;?>;
        var date3Value = <?php echo $setA11;?>;
        var date4Value = <?php echo $setA12;?>;
        var date5Value = <?php echo $setA17;?>;
        var date6Value = <?php echo $setA18;?>;

        document.getElementById("date1").value = date1Value;
        document.getElementById("date2").value = date2Value;
        document.getElementById("date3").value = date3Value;
        document.getElementById("date4").value = date4Value;
        document.getElementById("date5").value = date5Value;
        document.getElementById("date6").value = date6Value;
    }
</script>

HTML 스 니펫

<html>
    <body>
        <form method="post" action=thisPage.php>
            <input type="date" name="date_1A5" id="date1">
            <input type="date" name="date_1A6" id="date2">
            <input type="date" name="date_2A5" id="date3">
            <input type="date" name="date_2A6" id="date4">
            <input type="date" name="date_3A5" id="date5">
            <input type="date" name="date_3A6" id="date6">
        </form>
    <body>
</html>
ChristianF

정확히 무엇이 잘못되었는지 보여 주므로 예제 출력을 추가해 주셔서 감사합니다. :)

하지만 먼저이 코드에는 jQuery가 없다는 점을 지적하고 싶습니다. 당신이 가진 것은 평범한 JavaScript입니다.

그런 다음 문제는 JavaScript 부분의 날짜 주위에 따옴표가 없다는 것입니다. 날짜를 인쇄하는 PHP 코드 주변에 추가하면 작동합니다.

추신 : 이러한 날짜를 포함하려면 데이터베이스 또는 적어도 하나의 파일을 사용하는 것이 좋습니다. 이와 같은 여러 파일은 비효율적 일뿐만 아니라 매우 지저분합니다.
단일 파일을 사용하는 방법에 대한 간단한 예 :

// The file() function automatically creates an array on newlines.
$dates = file ("dates.txt");

if (!$dates) {
    // Show an error message on missing dates.
}

?>
<script>

// $dates[0] contains the first date, increase index by 1 to get the next date.
document.getElementById ('date_1').value = '<?php echo $dates[0]; ?>'

PPS : 사용자로부터받은 데이터가 실제로 유효한 날짜인지 확인하기 위해 입력 유효성 검사도 조사해야합니다. 이를 수행하는 가장 쉬운 방법은 DateTime클래스 와 함께 구문 분석을 시도하는 것입니다 .

// If the user has submitted data...
if (isset ($_POST['submit'])) {
    $dates = array ();

    // Ensure we get a valid date.
    $date[0] = DateTime::createFromFormat ('Y-m-d', $_POST['date_1']);
    if (!$dates[0]) {
        // Invalid date, handle it.
    }

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

자바 스크립트에서 HTML 요소의 값 설정

분류에서Dev

자바 스크립트 함수를 PHP로 변환 (사용자 정의 정렬)

분류에서Dev

자바 스크립트를 사용하여 HTML 입력 (날짜) 유형으로 날짜 조작

분류에서Dev

자바 스크립트 3 값의 버튼을 클릭하여 날짜를 다음 / 이전으로 변경

분류에서Dev

자바 스크립트를 사용하여 값이있는 HTML 요소 제거

분류에서Dev

체크 박스를 사용하여 자바 스크립트 변수 값 결정

분류에서Dev

자바 스크립트를 사용하여 Sharepoint 목록 값을 읽고 변수로 설정

분류에서Dev

webdriver 용 자바 스크립트를 사용하여 datepicker에서 날짜 설정

분류에서Dev

webdriver 용 자바 스크립트를 사용하여 datepicker에서 날짜 설정

분류에서Dev

날짜를 사용하여 MySQL 사용자 정의 함수 자동 증가 값

분류에서Dev

자바 스크립트를 사용하여 raddatetimepicker 날짜 및 시간 설정

분류에서Dev

자바 스크립트를 사용하여 숫자를 날짜로 변환

분류에서Dev

자바 스크립트를 사용하여 HTML 링크의 ID에 값 할당

분류에서Dev

자바 스크립트를 사용하여 미리 서식이 지정된 텍스트의 값 변경

분류에서Dev

자바 스크립트를 사용하여 다른 페이지로 이동 한 후 HTML 양식 값 조정

분류에서Dev

자바 스크립트를 사용하여 이전 날짜의 텍스트 색상 변경

분류에서Dev

자바 스크립트를 사용하여 메소드에서 하나의 인수에만 값을 설정하는 방법은 무엇입니까?

분류에서Dev

자바 스크립트를 사용하여 변수의 값 확인

분류에서Dev

자바 스크립트를 사용하여 "05:30"문자열 값을 정수로 변환하는 방법

분류에서Dev

PHP 에코를 사용하여 자바 스크립트 변수 설정이 작동하지 않습니다.

분류에서Dev

자바 스크립트는 3 개월 차이로 하나의 날짜와 다음 자동 설정을 선택

분류에서Dev

자바 스크립트를 사용하여 입력 유형 텍스트의 값 설정

분류에서Dev

변수를 사용하여 자바 스크립트로 SVG 속성 설정

분류에서Dev

자바 스크립트로 입력 HTML에서 최소값을 설정하는 방법은 무엇입니까?

분류에서Dev

자바 스크립트를 사용하여 Google 설문지에 입력 값을 설정할 수 없습니다.

분류에서Dev

PHP 변수를 사용하여 텍스트 상자의 값을 설정할 수 없습니다.

분류에서Dev

자바 스크립트를 사용하여 임베디드 PHP로 HTML 편집

분류에서Dev

BASH 스크립트에서 sed 사용 : 텍스트를 시스템 변수 (호스트 이름 및 날짜)의 정보로 바꿉니다.

분류에서Dev

자바 스크립트 함수를 사용하여 HTML 요소를 다시로드 하시겠습니까?

Related 관련 기사

  1. 1

    자바 스크립트에서 HTML 요소의 값 설정

  2. 2

    자바 스크립트 함수를 PHP로 변환 (사용자 정의 정렬)

  3. 3

    자바 스크립트를 사용하여 HTML 입력 (날짜) 유형으로 날짜 조작

  4. 4

    자바 스크립트 3 값의 버튼을 클릭하여 날짜를 다음 / 이전으로 변경

  5. 5

    자바 스크립트를 사용하여 값이있는 HTML 요소 제거

  6. 6

    체크 박스를 사용하여 자바 스크립트 변수 값 결정

  7. 7

    자바 스크립트를 사용하여 Sharepoint 목록 값을 읽고 변수로 설정

  8. 8

    webdriver 용 자바 스크립트를 사용하여 datepicker에서 날짜 설정

  9. 9

    webdriver 용 자바 스크립트를 사용하여 datepicker에서 날짜 설정

  10. 10

    날짜를 사용하여 MySQL 사용자 정의 함수 자동 증가 값

  11. 11

    자바 스크립트를 사용하여 raddatetimepicker 날짜 및 시간 설정

  12. 12

    자바 스크립트를 사용하여 숫자를 날짜로 변환

  13. 13

    자바 스크립트를 사용하여 HTML 링크의 ID에 값 할당

  14. 14

    자바 스크립트를 사용하여 미리 서식이 지정된 텍스트의 값 변경

  15. 15

    자바 스크립트를 사용하여 다른 페이지로 이동 한 후 HTML 양식 값 조정

  16. 16

    자바 스크립트를 사용하여 이전 날짜의 텍스트 색상 변경

  17. 17

    자바 스크립트를 사용하여 메소드에서 하나의 인수에만 값을 설정하는 방법은 무엇입니까?

  18. 18

    자바 스크립트를 사용하여 변수의 값 확인

  19. 19

    자바 스크립트를 사용하여 "05:30"문자열 값을 정수로 변환하는 방법

  20. 20

    PHP 에코를 사용하여 자바 스크립트 변수 설정이 작동하지 않습니다.

  21. 21

    자바 스크립트는 3 개월 차이로 하나의 날짜와 다음 자동 설정을 선택

  22. 22

    자바 스크립트를 사용하여 입력 유형 텍스트의 값 설정

  23. 23

    변수를 사용하여 자바 스크립트로 SVG 속성 설정

  24. 24

    자바 스크립트로 입력 HTML에서 최소값을 설정하는 방법은 무엇입니까?

  25. 25

    자바 스크립트를 사용하여 Google 설문지에 입력 값을 설정할 수 없습니다.

  26. 26

    PHP 변수를 사용하여 텍스트 상자의 값을 설정할 수 없습니다.

  27. 27

    자바 스크립트를 사용하여 임베디드 PHP로 HTML 편집

  28. 28

    BASH 스크립트에서 sed 사용 : 텍스트를 시스템 변수 (호스트 이름 및 날짜)의 정보로 바꿉니다.

  29. 29

    자바 스크립트 함수를 사용하여 HTML 요소를 다시로드 하시겠습니까?

뜨겁다태그

보관