이것은 약간 복잡하기 때문에이 단어를 올바르게 입력하십시오.Ajax, 동적 입력 필드 및 정적 입력 필드로로드 된 양식 입력 필드의 값을 가져옵니다.
나는 옵션의 목록을로드하고 하나 개의 정적 입력을 시작하는 형태를 갖는다 :
: 페이지 같은 목록에 속한 아약스 통화 표시 추가 입력 필드를로드<span id="keyword_list_out" class="input"><input class="keys margin-bottom" type="text" name="keywords[]" />
<span class="field-wrapper"><input class="keys" type="text" name="keywords[]" value="Option One" /><a class="remove-keyword" href="javascript:void(0);"><img src="images/icons/cross-button-icon.png" /></a></span>
<span class="field-wrapper"><input class="keys" type="text" name="keywords[]" value="Option Two" /><a class="remove-keyword" href="javascript:void(0);"><img src="images/icons/cross-button-icon.png" /></a></span>
이 옵션은 첫 번째 정적 입력 필드 ID : keyword_list_out의 맨 앞에 추가됩니다.
사용자는 동적으로 더 많은 입력 필드를 추가 할 수 있으며 기존 필드를 제거 할 수 있습니다.
이 모든 것은 지금까지 정상적으로 작동합니다. 내 문제는 입력 필드에 포함 된 데이터에 액세스하는 것입니다. 사용자가 옵션을 제거했습니다
- 경우 나 사용자가 내가 삽입해야하는 필드를 추가 한 경우 데이터베이스
- 에서이를 제거해야합니다 양식이 제출되면 나는 세 가지 기능을 수행 할 수 있어야합니다 데이터베이스는 사용자가 I 데이터베이스에이 업데이트해야 기존의 필드 값을 변경하면
- 에이
I 입력 이름 'KEYWORD_NAME []를 사용하여 입력 필드 내의 데이터를 액세스 할 그러면 배열을 반복 할 수 있습니다.
그러나 특정 ID 번호가있는 기존 옵션은 다루지 않습니다. Ajax 호출에서로드 된 필드에 ID 번호를 할당 할 수 있지만 정적 필드와 사용자가 추가 한 필드에는 ID 번호가 없으므로 필요하지 않습니다. 이 필드는 단순히 데이터베이스에 삽입됩니다.
그래서 내 질문은 내가 데이터베이스에있는 ID 번호에 속하는 기존 옵션을 결정하는 방법에 관한 것이라고 생각합니다. 옵션에 고유 한 이름이 붙지 않는다고 덧붙여 야합니다. 각 입력을 통해 루프를 입력하고 구분을 사용자를 사용하여 이름 값 끝에 ID를 앞에 추가하면 아약스로드 필드
- : 는 뭔가 같은 고려 제공하지 않을 것입니다. IE : Option Two --- 1
- PHP가 배열을 반복하면서 '---'와 일치하는 배열 값을 폭발 시킴
- '---'에서 일치하는 것이 발견되면 데이터베이스를 업데이트하고, 그렇지 않으면 데이터베이스에
어떤 생각?
I 두 어레이에있는 입력 필드에 분할 한
UPDATE : existing_options [] 및 new_options [].내 JQuery와 스크립트에서
이전에 내가 추가 한 게시에 :var existing_options = $('input[name=existing_options]').attr('value');
var new_options = $('input[name=new_options]').attr('value');
아약스 데이터가 전송되는 :
'existing_options[]=' + existing_options + '&new_options[]=' + new_options;
그러나 PHP는이 값이 문자열이 아닌 배열 것을 반환합니다. 여기에 뭔가가 누락되었습니다 ....
.live()'은 (는) 사용되지 않습니다. '.on() '사용 – ahren
당신의 도움에 감사드립니다. 필자는 사용자가 입력 필드를 제거 할 때 데이터베이스에서 동시에 제거된다는 점에서 제안한 것을 수행했습니다. 데이터베이스에는 ID 필드에 auto_increment가 있지만, 동시에 삽입 및 업데이트를 수행하고 있습니다. –
MySQL을 사용하는 경우 phpMyAdmin과 같은 것을 사용하여 자동 증분을 사용하도록 id 필드를 설정할 수 있습니다. 또한 서버 쪽 스크립트에서 성공 또는 오류를 설정하여 오류가 발생하여 데이터베이스에서 삭제되지 않는 경우 페이지에서 삭제되지 않도록하는 것이 좋습니다. – Bobby