내 웹 사이트에 양식을 작성하여 JavaScript에 값을 전달한 다음이 정보를 PHP 페이지에 전달하여 데이터베이스를 업데이트합니다. 양식이 제출되면 텍스트 영역 인 두 개의 필드를 제외하고 모든 값이 데이터베이스에 추가됩니다.텍스트 영역 양식 필드 값을 JavaScript로 전달하지 않습니다.
JavaScript를 제거하고 간단한 양식 작업을 추가하여 변수를 PHP 페이지에 직접 전달하면 모든 정보가 두 텍스트 영역 필드를 포함하여 데이터베이스에 추가되므로 문제가 양식에 있어야합니다. 그리고 자바 스크립트, 그렇지 않으면 두 개의 필드는 데이터베이스에 추가되지 않을 것입니다.
아래는 내 양식과 자바 스크립트입니다. (가 긴 형태로이 잘못된 접근 방식은 다음 알려 주시기 바랍니다 경우 최고, 간단 나는 단지 문제가있는 형태의 두 가지 요소를 포함 시켰 유지한다.) 지금
<form action="" method="post" class="save">
<label class="col-sm-3 control-label">Notes</label>
<textarea name="notes" rows="10" class="form-control"></textarea>
<input type="submit" name="submit" class="save" value="Save This Job" id="blue"/>
</form>
그리고 자바 스크립트를 내가 모든 정보는 MySQL 데이터베이스, 어떤 문제에 추가됩니다 PHP 페이지에 직접 변수를 보내는 경우 위에서 말했듯이 그래서 여기
$(document).ready(function(){
$('form.save').submit(function() {
var ref_number = $(this).find("[name='ref_number']").val();
var job_title = $(this).find("[name='job_title']").val();
var start_date = $(this).find("[name='start_date']").val();
var closing_date = $(this).find("[name='closing_date']").val();
var category = $(this).find("[name='category']").val();
var location = $(this).find("[name='location']").val();
var salary = $(this).find("[name='salary']").val();
var client = $(this).find("[name='client']").val();
var job_description = $(this).find("[name='job_description']").val();
var license = $(this).find("[name='license']").val();
var notes = $(this).find("[name='notes']").val();
// ...
$.ajax({
type: "POST",
url: "save.php",
data: {
ref_number : ref_number,
job_title : job_title,
start_date : start_date,
closing_date : closing_date,
category : category,
location : location,
salary : salary,
client : client,
job_description : job_description,
license : license,
notes : notes,
},
success: function(){
new PNotify({
title: 'Job Posted',
text: '
type: 'success',
shadow: true
});
}
});
this.reset();
return false;
});
});
가, 내가 계속 변경은 PHP의 단순화 된 버전이지만, JavaScript를 사용하면 작업 설명 및 메모 필드가 추가되지 않습니다.
$ref_number = $_POST['ref_number'];
$job_title = $_POST['job_title'];
$start_date = $_POST['start_date'];
$closing_date = $_POST['closing_date'];
$category = $_POST['category'];
$location = $_POST['location'];
$salary = $_POST['salary'];
$client = $_POST['client'];
$job_description = $_POST['job_description'];
$license = $_POST['license'];
$posted_by = $_POST['posted_by'];
$site_id = $_POST['site_id'];
$notes = $_POST['notes'];
mysql_query("INSERT INTO joborders
(ref_number, job_title, start_date, closing_date, category, location, salary, client_name, job_description, license_required, site_id, posted_by, status, notes, posted_date) VALUES('$ref_number', '$job_title', '$start_date', '$closing_date', '$category', '$location', '$salary', '$client', '$job_description', '$license', '$site_id', '$posted_by', 'open', '$notes', NOW()) ")
or die(mysql_error());
그래서 나는 페이지 하단에 내가 수십 번 봤다에도 불구하고 전에 발견하지 않은 코드의이 조각이었다, 문제를 발견했다. 곧 내가 그것을 제거, 그것은 일했다, 그래서 지금은 그냥 그래서 난 여전히 tnymce를 사용할 수있는 기존 코드에에 통합 할 수 있는지 일할 필요가
tinymce.init({
selector: "textarea"
});
우선, 제출시 jquery serialize를 사용할 수 있으므로 모든 변수 및 데이터 객체를 다시 입력 할 필요가 없습니다. –
PHP가 두 개의 마지막 값을 예상했는지 확인 했습니까? –
방화 광/크롬 도구를보고 "메모"가 서버로 전송되었는지 확인 했습니까? 그렇다면 관련 PHP 코드도 포함시킬 수 있습니까? – Assimilater