#javascript #html #placeholder #modernizr
#javascript #HTML #плейсхолдер #modernizr
Вопрос:
Я установил Modernizr в свой код, чтобы включить поддержку заполнителей html5 в firefox 3.6
Моя проблема в том, что, поскольку я использую структуру шаблона (M.V.C) в качестве своей базы кода, я не уверен, как я могу заставить скрипт «if ()» работать для моей конкретной страницы, поскольку он должен был бы вызываться в представлении. Я переместил свой скрипт modernizr в свой haeder -> был в моем нижнем колонтитуле
Моя форма:
<?php
//Setting form attributes
$formAddSale = array('id' => 'addSale', 'name' => 'addSale');
$saleName = array('id' => 'name', 'name' => 'name', 'placeholder' => 'Name*');
$saleLocation = array('id' => 'location', 'name' => 'location', 'placeholder' => 'Location*');
$saleBedrooms = array('id' => 'bedrooms','name' => 'bedrooms', 'placeholder' => 'Number of Bedrooms*');
$saleBathrooms = array('id' => 'bathrooms','name' => 'bathrooms', 'placeholder' => 'Number of Bathrooms*');
$saleCondition = array('id' => 'condition','name' => 'condition', 'placeholder' => 'Condition*');
$saleImage = array('id' => 'userfile', 'name'=> 'userfile', 'placeholder' => 'File Location*');
$saleDescription = array('id' => 'description','name' => 'description', 'placeholder' => 'Sale Description*');
$salePrice = array('id' => 'price','name' => 'price', 'placeholder' => 'Price*');
?>
<section id = "validation"><?php echo validation_errors();?></section>
<?php
echo form_open_multipart('admin/addsale/', $formAddSale);
echo form_fieldset();
echo form_input($saleName);
echo form_input($saleLocation);
echo form_input($saleBedrooms);
echo form_input($saleBathrooms);
echo form_input($saleCondition);
echo form_input($salePrice);
echo form_upload($saleImage);
echo form_textarea($saleDescription);
echo form_submit('submit','Submit');
echo form_fieldset_close();
echo form_close();
?>
На момент написания этого вопроса я создал ‘misc.js ‘ документ со следующим кодом:
// if placeholder isn't supported:
if (!Modernizr.input.placeholder){
// use a input hint script
setInputHint(document.getElementById('name'),'Name*');
setInputHint(document.getElementById('location'),'Location*');
setInputHint(document.getElementById('bedrooms'),'Number of Bedrooms*');
setInputHint(document.getElementById('bathrooms'),'Number of Bathrooms*');
setInputHint(document.getElementById('condition'),'Condition*');
setInputHint(document.getElementById('price'),'Price*');
setInputHint(document.getElementById('description'),'Sale Description*');
setInputHint(document.getElementById('userfile'),'File Location*');
}
Я включил вышеупомянутый документ, как обычно, в нижний колонтитул моего «шаблона»
<!-- jQuery Files -->
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.5.2/jquery.min.js"></script>
<script type="text/javascript" src="http://www.domain.co.nz/includes/js/placeholder.js"></script>
<script type="text/javascript" src="http://www.domain.co.nz/includes/js/misc.js"> </script>
Комментарии:
1. Modernizr — это полный перебор, если вы используете его только для заполнителей HTML5.
Ответ №1:
Вы получаете какие-либо ошибки Javascript?
Поскольку вы используете библиотеку JS (jQuery), вы можете заменить ‘document.getElementById’ на ‘$’, что сэкономит много кода.