CakePHP ละเว้นที่จะส่งฟิลด์อินพุตและเปลี่ยนค่าอินพุตเป็น onSubmit?

ฉันใช้ CakePHP 1.2 ที่สำนักงานและติดตาม คำถามสุดท้ายของฉัน ฉันต้องการส่งคีย์อาร์เรย์ของตัวเลือกที่เลือกในอินพุต SELECT แทนที่จะส่งค่าจริง ฉันได้ลองบางสิ่งด้วยฟังก์ชัน Model::beforeSave() แล้ว แต่ไม่ประสบผลสำเร็จ

ฉันทราบว่าข้อมูลที่โพสต์โดย CakePHP ไม่ได้รวมอาเรย์ทั้งหมด แต่รวมเฉพาะค่าที่เลือกเท่านั้น นี่คือลักษณะของฟังก์ชันในขณะนี้:

function beforeSave(){
    $this->Post->set('category_id', = array_keys($this->data['Annonce']['category_id']);
    # debug($this->data);
}

จะมีวิธีจัดเก็บคีย์อาร์เรย์ไว้ในอินพุตที่ซ่อนอยู่และเปลี่ยนค่าอินพุตนี้โดยขึ้นอยู่กับรายการที่เลือกของผู้ใช้ในอินพุต SELECT และละเว้นการส่งอินพุตของผู้ใช้แต่ยังคงส่งค่าที่ซ่อนอยู่หรือไม่


person Jeff Noel    schedule 27.07.2012    source แหล่งที่มา
comment
นี่เป็นคำถามเกี่ยวกับ JavaScript มากกว่าคำถาม PHP / CakePHP   -  person uzyn    schedule 28.07.2012


คำตอบ (1)


$categories = Set::combine($categories,'{n}.categories.id', '{n}.categories.nom');

สิ่งนี้ทำเพื่อฉัน ... CakePHP กำหนดค่า array_keys() ให้กับฟิลด์ value ของอินพุตโดยอัตโนมัติ

person Jeff Noel    schedule 30.07.2012