2012-10-02 5 views
0

아래 이미지를 보면 원하는대로 많은 제품을 추가 할 수 있습니다. 먼저 Ajax를 통해 Items 드롭 다운에서 관련 항목을 생성하는 드롭 다운에서 카테고리를 선택합니다. "다른 제품 추가"를 클릭하여 원하는대로 많은 제품을 추가 할 수 있습니다.동적 입력란을 다시 채우는 방법은 무엇입니까?

제품 선택이 완료되면 Submit/Order 버튼을 클릭 한 다음 판매에 추가하기 전에 PHP (No Ajax)를 통해 입력란의 유효성을 검사해야합니다. 유효성 검사가 통과되지 않은 경우 - 선택한 카테고리 및 항목을 모두 다시 채워야합니다 (다시 말해 제품 필드를 다시 작성).

참고 : 모든 데이터가 입력 상자를 들어 $_POST

enter image description here

+0

JS 코드가 모두 구조화되어있어 편집 할 때와 동일한 메소드를 재사용하면 해당 함수에서 사용하는 값만 사용자 상호 작용이 아닌 지속 된 서버 측 데이터에서 가져올 것이라고 생각합니다. 어쩌면 대답은 아니지만 잘하면 결국 어디 있습니다. CRUD와 마찬가지로 작성 및 편집 시나리오에 대해 두 세트의 코드를 작성하거나 다른 컨텍스트에서 단일 기본을 사용합니다. – ficuscr

답변

1

귀하의 옵션 :

  • 를 사용하여 $ _POST 데이터는
  • 저장소 (예를 들어, 세션에서) $ _POST 데이터 생성 된 필드의 사용자를 포함하는 HTML을 생성해야합니다 원래의 형태로 다시 사용자를 리디렉션합니다 저장된 데이터가 발견되면 사용자 생성 필드를 생성하는 코드를 포함합니다.

두 번째 옵션이 좋습니다.

편집 : 옵션 2에 대한 추가 정보.

검증 세션에 $ _POST 데이터를 저장 실패 $_SESSION['stored post'] = $_POST;를 원래 형태 (POST이 시작된 것)로 리디렉션 : 다음 주문 양식의 추가를 생성하는 코드에서 header('Location: /url/of/the/original-form.html);

:

if (isset($_SESSION['stored post']) 
    && is_array($_SESSION['stored post']) 
    && count($_SESSION['stored post']) > 0) //check if there is POST stored 
{ 
    //generate fields from data stored in $_SESSION['stored post'] here 

    unset($_SESSION['stored post']; //remove the stored data 
} 
+0

두 번째 옵션의 명확성을 예를 들어 설명해주십시오. –

+0

답변을 업데이트했습니다. – c2h5oh

0

에 저장됩니다, 당신은을 통해 반복해야합니다의 selectboxes를 들어

<input name="fname" value="<?php if(isset($_POST['fname'])) echo $_POST['fname']' ?>"> 

을하는만큼 쉽게 어떤 객체가 선택되어야 하는지를 알아내는 옵션.

+0

-1. 네,하지만 그건 내 질문이 아니란 걸 압니다. 내가 말했듯이 Fields는 Ajax를 통해 jQuery와 관련 항목을 통해 만들어졌다. –

+0

아. 흠, 미안. 필자는 PHP로 폼을 전달하는 것에 익숙하지만 jQuery와 Ajax는 불안정합니다. 미안합니다. – aynber

+0

+1. 데이터가'$ _POST'에 있으면 PHP를 사용하여 클라이언트에 미리 채워진 양식을 보내지 않는 이유는 무엇입니까? 클라이언트 측에서 "제품 제거"버튼을 추가하기 만하면됩니다. – deizel

관련 문제