Ben (büyük ölçüde basitleştirilmiş) bir form var:
<form action='http://example.com/' method='post' name='event_form'>
<input type='text' name='foo' value='3'/>
<input type='submit' name='event_submit' value='Edit'/>
</form>
Ve ben formu işlemek için bir sınıf "EventForm" var. Ana yöntem, süreç () bu gibi görünüyor:
public function process($submitname=false){
$success=false;
if ($submitname && isset($_POST[$submitname])){ //PROBLEM: isset($_POST[$submitname] is always FALSE for some reason
if($success=$this->ruler->validate()){//check that dependancies are honoured and data types are correct
if($success=$this->map_fields()){//divide input data into Event, Schedule_Element and Temporal_Expression(s)
$success=$this->eventholder->save();
}
}
} else {//get the record from the db based on event_id or schedule_element_id
foreach($this->gets as $var){//list of acceptable $_GET keys
if(isset($_GET[$var])){
if($success= $this->__set($var,$_GET[$var])) break;
}
}
}
$this->action=(empty($this->eventholder->event_id))? ADD : EDIT;
return $success;
}
Form gönderildiğinde, bu olur: $form->process('event_submit');
nedense olsa, isset($_POST['event_submit'])
her zaman YANLIŞ olarak değerlendirilir. Neden herkes görebilir miyim?
ETA: önerileri ile çalıştıktan sonra, bu JQuery.validate () form gönderildiğinde beklenmedik bir etkiye sahip olduğu görülmektedir. Tüm alanlar göndermek düğmesi hariç teslim edilir. Bu, bu JQuery arıza gibi görünüyor:
$("form[name='event_form']").validate({
submitHandler: function(form) {
form.submit();
}
}};
Emin olmak için nasıl Herhangi bir düşünce gönderme düğmesi değeri gönderdi alır?